特殊文字を見つける必要があります。単語の途中に置くと、SQLite FTSマッチは、存在しないかのように無視できます。例:
Text Body: book's
一致文字列が「本」の場合、「本」の結果を取得する必要があります。ポーターまたは単純なトークナイザーを使用しても問題ありません。
そのために、book!s、book?s、book | s、book、s、book:s…などの多くの文字を試しましたが、「本」を一致で検索すると、これらの結果は返されませんでした。
分かりません、なぜですか?
私が使用しているのは、コンテンツレスFTS4テーブルと外部コンテンツFTS4テーブルです。テキスト本文には各単語に多くの文字が含まれているため、検索時に無視するように変更する必要があります。
単語の特殊文字がどこにあるかわからないため、一致クエリを変更できません。また、match infoまたはsnippet()を使用するには、元の単語の長さをFTSインデックスの単語の長さと同じにする必要があります。そのため、これらの文字をテキスト本文から削除することはできません。