diff --git a/third_party/astrolabe/src/App.vue b/third_party/astrolabe/src/App.vue index 2710539..8ce12c0 100644 --- a/third_party/astrolabe/src/App.vue +++ b/third_party/astrolabe/src/App.vue @@ -48,19 +48,18 @@
{{ t('astrolabe', 'Hybrid combines semantic understanding with keyword matching. Semantic finds conceptually similar content. BM25 matches exact keywords.') }}
{{ t('astrolabe', 'Only applies to hybrid search. RRF balances results well for most queries. DBSF may work better when keyword matches are over/under-weighted.') }}
@@ -184,14 +186,13 @@{{ t('astrolabe', 'Maximum number of results to return per search query (5-100).') }}
@@ -276,6 +277,15 @@ const fusionOptions = computed(() => [ { id: 'dbsf', label: t('astrolabe', 'DBSF - Distribution-Based Score Fusion') }, ]) +// Computed properties for NcSelect (converts between stored ID and option object) +const selectedAlgorithmOption = computed(() => + algorithmOptions.value.find(opt => opt.id === settings.value.algorithm) || algorithmOptions.value[0], +) + +const selectedFusionOption = computed(() => + fusionOptions.value.find(opt => opt.id === settings.value.fusion) || fusionOptions.value[0], +) + // Methods async function loadServerStatus() { loading.value = true