mirror of
https://github.com/infiniflow/ragflow.git
synced 2025-12-20 21:06:54 +08:00
### What problem does this PR solve? Fix: Optimize search functionality - Fixed search limitations when no dataset is selected ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue)
This commit is contained in:
@ -1573,6 +1573,7 @@ This delimiter is used to split the input text into several text pieces echo of
|
|||||||
descriptionValue: 'You are an intelligent assistant.',
|
descriptionValue: 'You are an intelligent assistant.',
|
||||||
okText: 'Save',
|
okText: 'Save',
|
||||||
cancelText: 'Cancel',
|
cancelText: 'Cancel',
|
||||||
|
chooseDataset: 'Please select a dataset first',
|
||||||
},
|
},
|
||||||
language: {
|
language: {
|
||||||
english: 'English',
|
english: 'English',
|
||||||
|
|||||||
@ -1485,6 +1485,7 @@ General:实体和关系提取提示来自 GitHub - microsoft/graphrag:基于
|
|||||||
descriptionValue: '你是一位智能助手。',
|
descriptionValue: '你是一位智能助手。',
|
||||||
okText: '保存',
|
okText: '保存',
|
||||||
cancelText: '返回',
|
cancelText: '返回',
|
||||||
|
chooseDataset: '请先选择知识库',
|
||||||
},
|
},
|
||||||
language: {
|
language: {
|
||||||
english: '英语',
|
english: '英语',
|
||||||
|
|||||||
@ -536,6 +536,6 @@ export const useCheckSettings = (data: ISearchAppDetailProps) => {
|
|||||||
const { search_config, name } = data;
|
const { search_config, name } = data;
|
||||||
const { kb_ids } = search_config;
|
const { kb_ids } = search_config;
|
||||||
return {
|
return {
|
||||||
openSetting: kb_ids && kb_ids.length && name ? false : true,
|
openSetting: kb_ids && kb_ids.length > 0 && name ? false : true,
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@ -82,6 +82,7 @@ export default function SearchPage() {
|
|||||||
searchText={searchText}
|
searchText={searchText}
|
||||||
setSearchText={setSearchText}
|
setSearchText={setSearchText}
|
||||||
userInfo={userInfo}
|
userInfo={userInfo}
|
||||||
|
canSearch={!checkOpenSetting}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
import { Input } from '@/components/originui/input';
|
import { Input } from '@/components/originui/input';
|
||||||
|
import message from '@/components/ui/message';
|
||||||
import { IUserInfo } from '@/interfaces/database/user-setting';
|
import { IUserInfo } from '@/interfaces/database/user-setting';
|
||||||
import { cn } from '@/lib/utils';
|
import { cn } from '@/lib/utils';
|
||||||
import { Search } from 'lucide-react';
|
import { Search } from 'lucide-react';
|
||||||
@ -13,12 +14,14 @@ export default function SearchPage({
|
|||||||
searchText,
|
searchText,
|
||||||
setSearchText,
|
setSearchText,
|
||||||
userInfo,
|
userInfo,
|
||||||
|
canSearch,
|
||||||
}: {
|
}: {
|
||||||
isSearching: boolean;
|
isSearching: boolean;
|
||||||
setIsSearching: Dispatch<SetStateAction<boolean>>;
|
setIsSearching: Dispatch<SetStateAction<boolean>>;
|
||||||
searchText: string;
|
searchText: string;
|
||||||
setSearchText: Dispatch<SetStateAction<string>>;
|
setSearchText: Dispatch<SetStateAction<string>>;
|
||||||
userInfo?: IUserInfo;
|
userInfo?: IUserInfo;
|
||||||
|
canSearch?: boolean;
|
||||||
}) {
|
}) {
|
||||||
// const { data: userInfo } = useFetchUserInfo();
|
// const { data: userInfo } = useFetchUserInfo();
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
@ -56,10 +59,18 @@ export default function SearchPage({
|
|||||||
value={searchText}
|
value={searchText}
|
||||||
onKeyUp={(e) => {
|
onKeyUp={(e) => {
|
||||||
if (e.key === 'Enter') {
|
if (e.key === 'Enter') {
|
||||||
|
if (canSearch === false) {
|
||||||
|
message.warning(t('search.chooseDataset'));
|
||||||
|
return;
|
||||||
|
}
|
||||||
setIsSearching(!isSearching);
|
setIsSearching(!isSearching);
|
||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
onChange={(e) => {
|
onChange={(e) => {
|
||||||
|
if (canSearch === false) {
|
||||||
|
message.warning(t('search.chooseDataset'));
|
||||||
|
return;
|
||||||
|
}
|
||||||
setSearchText(e.target.value || '');
|
setSearchText(e.target.value || '');
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
@ -67,6 +78,10 @@ export default function SearchPage({
|
|||||||
type="button"
|
type="button"
|
||||||
className="absolute right-2 top-1/2 -translate-y-1/2 transform rounded-full bg-text-primary p-2 text-bg-base shadow w-12"
|
className="absolute right-2 top-1/2 -translate-y-1/2 transform rounded-full bg-text-primary p-2 text-bg-base shadow w-12"
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
|
if (canSearch === false) {
|
||||||
|
message.warning(t('search.chooseDataset'));
|
||||||
|
return;
|
||||||
|
}
|
||||||
setIsSearching(!isSearching);
|
setIsSearching(!isSearching);
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
|
|||||||
@ -5,7 +5,7 @@ import {
|
|||||||
ISearchAppDetailProps,
|
ISearchAppDetailProps,
|
||||||
useFetchSearchDetail,
|
useFetchSearchDetail,
|
||||||
} from '../../next-searches/hooks';
|
} from '../../next-searches/hooks';
|
||||||
import { useGetSharedSearchParams, useSearching } from '../hooks';
|
import { useCheckSettings, useGetSharedSearchParams } from '../hooks';
|
||||||
import '../index.less';
|
import '../index.less';
|
||||||
import SearchHome from '../search-home';
|
import SearchHome from '../search-home';
|
||||||
import SearchingPage from '../searching';
|
import SearchingPage from '../searching';
|
||||||
@ -18,9 +18,9 @@ export default function ShareSeachPage() {
|
|||||||
} = useFetchSearchDetail(tenantId as string);
|
} = useFetchSearchDetail(tenantId as string);
|
||||||
const [isSearching, setIsSearching] = useState(false);
|
const [isSearching, setIsSearching] = useState(false);
|
||||||
const [searchText, setSearchText] = useState('');
|
const [searchText, setSearchText] = useState('');
|
||||||
const searchingParam = useSearching({
|
const { openSetting: canSearch } = useCheckSettings(
|
||||||
data: searchData,
|
searchData as ISearchAppDetailProps,
|
||||||
});
|
);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (locale && i18n.language !== locale) {
|
if (locale && i18n.language !== locale) {
|
||||||
@ -47,6 +47,7 @@ export default function ShareSeachPage() {
|
|||||||
isSearching={isSearching}
|
isSearching={isSearching}
|
||||||
searchText={searchText}
|
searchText={searchText}
|
||||||
setSearchText={setSearchText}
|
setSearchText={setSearchText}
|
||||||
|
canSearch={!canSearch}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|||||||
Reference in New Issue
Block a user