From f108b9570497a96cfb554134f983202c0366e2ff Mon Sep 17 00:00:00 2001 From: EYHN Date: Mon, 5 Aug 2024 02:29:50 +0000 Subject: [PATCH] feat(core): tuning for better search (#7713) --- .../src/sync/indexer/impl/indexeddb/__tests__/bm25.spec.ts | 1 + packages/common/infra/src/sync/indexer/impl/indexeddb/bm25.ts | 2 +- .../core/src/modules/docs-search/services/docs-search.ts | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/common/infra/src/sync/indexer/impl/indexeddb/__tests__/bm25.spec.ts b/packages/common/infra/src/sync/indexer/impl/indexeddb/__tests__/bm25.spec.ts index d6856167c..ea9012b5d 100644 --- a/packages/common/infra/src/sync/indexer/impl/indexeddb/__tests__/bm25.spec.ts +++ b/packages/common/infra/src/sync/indexer/impl/indexeddb/__tests__/bm25.spec.ts @@ -6,4 +6,5 @@ test('bm25', () => { expect(bm25(1, 1, 10, 10, 15)).toEqual(3.2792079793859643); expect(bm25(2, 1, 10, 10, 15) > bm25(1, 1, 10, 10, 15)).toBeTruthy(); expect(bm25(1, 1, 10, 10, 15) > bm25(2, 1, 10, 100, 15)).toBeTruthy(); + expect(bm25(1, 1, 10, 10, 15) > bm25(1, 1, 10, 100, 15)).toBeTruthy(); }); diff --git a/packages/common/infra/src/sync/indexer/impl/indexeddb/bm25.ts b/packages/common/infra/src/sync/indexer/impl/indexeddb/bm25.ts index 9f69b5642..d401ae32e 100644 --- a/packages/common/infra/src/sync/indexer/impl/indexeddb/bm25.ts +++ b/packages/common/infra/src/sync/indexer/impl/indexeddb/bm25.ts @@ -57,6 +57,6 @@ export const bm25 = ( invDocFreq * (d + (termFreq * (k + 1)) / - (termFreq + k * (1 - b + (b * fieldLength) / avgFieldLength))) + (termFreq + k * (1 - b + b * (fieldLength / avgFieldLength)))) ); }; diff --git a/packages/frontend/core/src/modules/docs-search/services/docs-search.ts b/packages/frontend/core/src/modules/docs-search/services/docs-search.ts index 0a5f7e42a..58bd00823 100644 --- a/packages/frontend/core/src/modules/docs-search/services/docs-search.ts +++ b/packages/frontend/core/src/modules/docs-search/services/docs-search.ts @@ -146,7 +146,7 @@ export class DocsSearchService extends Service { }, { type: 'boost', - boost: 100, + boost: 1.5, query: { type: 'match', field: 'flavour',