上付き数字と下付き数字を格納するバイナリ フィールドにフルテキスト インデックスがあります。フィールドを検索すると、上付き/下付き数字を検索に追加するかどうかに関係なく、同じ結果が返されます。
これがどのように構造化されているかについての詳細: HTML を保存しているテーブルがありますが、その中のテキストは検索可能である必要があります (そのため、「テキスト」を<b>T</b>ext
検索すると、検索と同様に一致するText
ため、nvarchar( HTML がテキストとして保存された max) 列には、HTML をバイナリに変換し、それに対するフルテキスト インデックスを付けて保存する varbinary(max) もあります (ここで説明されているようにhttp://blog.leifbattermann.de/2016/09/23 /howto-implement-full-text-search-html-documents-microsoft-sql-server )。
HTML には、上付き数字と下付き数字を使用する電子構造など、いくつかの科学的な式が含まれています ( このように: Ar 3d¹⁰ 4s² 4p²)。上/下付き数字は、(HTML エンコーディングを使用するのではなく) 文字マップなどから貼り付けることによって、ユーザーがテキストとして入力します。クエリを実行sys.dm_fts_index_keywords
すると、スーパー/サブ スクリプトが格納されていないように見えるので、それらが見つからないことは驚くことではありません。ただし、他のユニコード文字やその他のスーパー/サブスクリプト文字は格納されますが、スーパー/サブスクリプト番号のようです。上記の例ではWHERE FREETEXT (HTMLTextBin, '4p²')
、WHERE FREETEXT (HTMLTextBin, '4p')
どちらもレコードを返しますが、そうでWHERE FREETEXT (HTMLTextBin, '4p2')
はありません。最初のものだけが一致すると思います。
私が見逃している設定を知っている人はいますか?または、これらの文字を含む別の検索方法はありますか?
よろしくお願いします