search/word_search: rename kanaIndependent -> fuzzyKana
Build and test / build (push) Successful in 17m10s

This commit is contained in:
2026-06-09 11:13:30 +09:00
parent d91584f75a
commit fe3ba1a2d3
2 changed files with 13 additions and 13 deletions
+11 -11
View File
@@ -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<List<ScoredEntryId>> _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<int> _queryKanjiCount(DatabaseExecutor connection, String word) {
Future<List<ScoredEntryId>> _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<List<ScoredEntryId>> fetchEntryIds(
DatabaseExecutor connection,
String word,
SearchMode searchMode,
bool kanaIndependent,
bool fuzzyKana,
int? pageSize,
int? offset,
) async {
@@ -264,7 +264,7 @@ Future<List<ScoredEntryId>> fetchEntryIds(
entryIds = await _queryKanji(
connection,
word,
kanaIndependent,
fuzzyKana,
pageSize,
offset,
);
@@ -274,7 +274,7 @@ Future<List<ScoredEntryId>> fetchEntryIds(
entryIds = await _queryKana(
connection,
word,
kanaIndependent,
fuzzyKana,
pageSize,
offset,
);
+2 -2
View File
@@ -38,7 +38,7 @@ Future<List<WordSearchResult>?> 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<List<WordSearchResult>?> searchWordWithDbConnection(
connection,
word,
searchMode,
kanaIndependent,
fuzzyKana,
pageSize,
offset,
);