From 4b8bf437cea70016427b80ddf2fd6f6018de9c3d Mon Sep 17 00:00:00 2001 From: Simon Cambier Date: Mon, 22 Jan 2024 22:12:41 +0100 Subject: [PATCH] Fixed logDebug() call --- src/search/omnisearch.ts | 4 +++- src/search/tokenizer.ts | 8 +++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/search/omnisearch.ts b/src/search/omnisearch.ts index fdbc7ea..a4475c1 100644 --- a/src/search/omnisearch.ts +++ b/src/search/omnisearch.ts @@ -172,7 +172,9 @@ export class Omnisearch { break } - let results = this.minisearch.search(tokenizeForSearch(query.segmentsToStr()), { + const searchTokens = tokenizeForSearch(query.segmentsToStr()) + logDebug(JSON.stringify(searchTokens, null, 1)) + let results = this.minisearch.search(searchTokens, { prefix: term => term.length >= options.prefixLength, // length <= 3: no fuzziness // length <= 5: fuzziness of 10% diff --git a/src/search/tokenizer.ts b/src/search/tokenizer.ts index 3bc4825..2fca57e 100644 --- a/src/search/tokenizer.ts +++ b/src/search/tokenizer.ts @@ -58,24 +58,22 @@ export function tokenizeForIndexing(text: string): string[] { export function tokenizeForSearch(text: string): QueryCombination { const tokens = tokenizeTokens(text) - const chsSegmenter = getChsSegmenter() let chs: string[] = [] + const chsSegmenter = getChsSegmenter() if (chsSegmenter) { chs = tokens.flatMap(word => chsRegex.test(word) ? chsSegmenter.cut(word) : [word] ) } - const query = { + return { combineWith: 'OR', queries: [ { combineWith: 'AND', queries: tokens }, + { combineWith: 'AND', queries: tokenizeWords(text) }, { combineWith: 'AND', queries: tokens.flatMap(splitHyphens) }, { combineWith: 'AND', queries: tokens.flatMap(splitCamelCase) }, { combineWith: 'AND', queries: chs }, - { combineWith: 'AND', queries: tokenizeWords(text) }, ], } - logDebug(JSON.stringify(query, null, 1)) - return query }