diff --git a/lib/search/word_search/entry_id_query.dart b/lib/search/word_search/entry_id_query.dart index 4df41b4..b64d861 100644 --- a/lib/search/word_search/entry_id_query.dart +++ b/lib/search/word_search/entry_id_query.dart @@ -46,7 +46,7 @@ String _filterFTSSensitiveCharacters(String word) { int? pageSize, int? offset, bool countOnly = false, - bool kanaIndependent = true, + bool fuzzyKana = true, }) { assert( tableName == JMdictTableNames.kanjiElement || @@ -69,7 +69,7 @@ String _filterFTSSensitiveCharacters(String word) { "$tableName"."entryId", 100 + (("$tableName"."reading" = ?1) * 100000) - ${kanaIndependent ? '+ (("${tableName}FTS"."reading" = normalize_jp(?1)) * 10000)' : ''} + ${fuzzyKana ? '+ (("${tableName}FTS"."reading" = normalize_jp(?1)) * 10000)' : ''} + (("$tableName"."reading" LIKE ?1 || '%') * 20) + (("$tableName"."orderNum" = 0) * 20) + COALESCE("JMdict_EntryScore"."score", 0) @@ -77,7 +77,7 @@ String _filterFTSSensitiveCharacters(String word) { FROM "${tableName}FTS" JOIN "$tableName" USING ("elementId") LEFT JOIN "JMdict_EntryScore" USING ("elementId") - WHERE "${tableName}FTS"."reading" MATCH ${kanaIndependent ? 'normalize_jp(?1)' : '?1'} || '*' + WHERE "${tableName}FTS"."reading" MATCH ${fuzzyKana ? 'normalize_jp(?1)' : '?1'} || '*' ), non_fts_results AS ( SELECT DISTINCT @@ -89,7 +89,7 @@ String _filterFTSSensitiveCharacters(String word) { AS "score" FROM "$tableName" LEFT JOIN "JMdict_EntryScore" USING ("elementId") - WHERE "$tableName"."reading" LIKE '%' || ${kanaIndependent ? 'normalize_jp(?1)' : '?1'} || '%' + WHERE "$tableName"."reading" LIKE '%' || ${fuzzyKana ? 'normalize_jp(?1)' : '?1'} || '%' AND "$tableName"."entryId" NOT IN (SELECT "entryId" FROM "fts_results") ) @@ -112,14 +112,14 @@ String _filterFTSSensitiveCharacters(String word) { Future> _queryKanji( DatabaseExecutor connection, String word, - bool kanaIndependent, + bool fuzzyKana, int? pageSize, int? offset, ) { final (query, args) = _kanjiReadingTemplate( JMdictTableNames.kanjiElement, word, - kanaIndependent: kanaIndependent, + fuzzyKana: fuzzyKana, pageSize: pageSize, offset: offset, ); @@ -149,14 +149,14 @@ Future _queryKanjiCount(DatabaseExecutor connection, String word) { Future> _queryKana( DatabaseExecutor connection, String word, - bool kanaIndependent, + bool fuzzyKana, int? pageSize, int? offset, ) { final (query, args) = _kanjiReadingTemplate( JMdictTableNames.readingElement, word, - kanaIndependent: kanaIndependent, + fuzzyKana: fuzzyKana, pageSize: pageSize, offset: offset, ); @@ -245,7 +245,7 @@ Future> fetchEntryIds( DatabaseExecutor connection, String word, SearchMode searchMode, - bool kanaIndependent, + bool fuzzyKana, int? pageSize, int? offset, ) async { @@ -264,7 +264,7 @@ Future> fetchEntryIds( entryIds = await _queryKanji( connection, word, - kanaIndependent, + fuzzyKana, pageSize, offset, ); @@ -274,7 +274,7 @@ Future> fetchEntryIds( entryIds = await _queryKana( connection, word, - kanaIndependent, + fuzzyKana, pageSize, offset, ); diff --git a/lib/search/word_search/word_search.dart b/lib/search/word_search/word_search.dart index 68191bc..b348a18 100644 --- a/lib/search/word_search/word_search.dart +++ b/lib/search/word_search/word_search.dart @@ -38,7 +38,7 @@ Future?> searchWordWithDbConnection( DatabaseExecutor connection, String word, { SearchMode searchMode = SearchMode.auto, - bool kanaIndependent = true, + bool fuzzyKana = true, int page = 0, int? pageSize, }) async { @@ -51,7 +51,7 @@ Future?> searchWordWithDbConnection( connection, word, searchMode, - kanaIndependent, + fuzzyKana, pageSize, offset, );