Fix search enhancement UI to show actual server defaults

Initialize checkboxes to match server defaults (BM25, HyDE, Reranking
enabled; Query Analysis disabled) so the UI accurately reflects what
the server is actually doing. Previously showed all as unchecked which
was confusing.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
mruwnik 2025-12-21 16:22:22 +00:00
parent 1c621e53fc
commit f9e9ad5f4b

View File

@ -56,11 +56,12 @@ export const SearchForm = ({ isLoading, onSearch }: SearchFormProps) => {
const [tags, setTags] = useState<Record<string, boolean>>({}) const [tags, setTags] = useState<Record<string, boolean>>({})
const [dynamicFilters, setDynamicFilters] = useState<Record<string, any>>({}) const [dynamicFilters, setDynamicFilters] = useState<Record<string, any>>({})
const [limit, setLimit] = useState(10) const [limit, setLimit] = useState(10)
// Search enhancement options (undefined = use server defaults) // Search enhancement options - initialize to match server defaults
const [useBm25, setUseBm25] = useState<boolean | undefined>(undefined) // Server defaults: BM25=true, HyDE=true, Reranking=true, QueryAnalysis=false
const [useHyde, setUseHyde] = useState<boolean | undefined>(undefined) const [useBm25, setUseBm25] = useState<boolean | undefined>(true)
const [useReranking, setUseReranking] = useState<boolean | undefined>(undefined) const [useHyde, setUseHyde] = useState<boolean | undefined>(true)
const [useQueryAnalysis, setUseQueryAnalysis] = useState<boolean | undefined>(undefined) const [useReranking, setUseReranking] = useState<boolean | undefined>(true)
const [useQueryAnalysis, setUseQueryAnalysis] = useState<boolean | undefined>(false)
const { getMetadataSchemas, getTags } = useMCP() const { getMetadataSchemas, getTags } = useMCP()
useEffect(() => { useEffect(() => {
@ -146,40 +147,40 @@ export const SearchForm = ({ isLoading, onSearch }: SearchFormProps) => {
<label> <label>
<input <input
type="checkbox" type="checkbox"
checked={useBm25 ?? false} checked={useBm25}
onChange={(e) => setUseBm25(e.target.checked)} onChange={(e) => setUseBm25(e.target.checked)}
/> />
Enable BM25 (keyword search) BM25 keyword search
</label> </label>
</div> </div>
<div className="search-option"> <div className="search-option">
<label> <label>
<input <input
type="checkbox" type="checkbox"
checked={useHyde ?? false} checked={useHyde}
onChange={(e) => setUseHyde(e.target.checked)} onChange={(e) => setUseHyde(e.target.checked)}
/> />
Enable HyDE (hypothetical document expansion) HyDE (hypothetical document expansion)
</label> </label>
</div> </div>
<div className="search-option"> <div className="search-option">
<label> <label>
<input <input
type="checkbox" type="checkbox"
checked={useReranking ?? false} checked={useReranking}
onChange={(e) => setUseReranking(e.target.checked)} onChange={(e) => setUseReranking(e.target.checked)}
/> />
Enable reranking (cross-encoder) Reranking (cross-encoder)
</label> </label>
</div> </div>
<div className="search-option"> <div className="search-option">
<label> <label>
<input <input
type="checkbox" type="checkbox"
checked={useQueryAnalysis ?? false} checked={useQueryAnalysis}
onChange={(e) => setUseQueryAnalysis(e.target.checked)} onChange={(e) => setUseQueryAnalysis(e.target.checked)}
/> />
Enable query analysis (LLM-based) Query analysis (LLM-based)
</label> </label>
</div> </div>
</div> </div>