現在、1,000 万件のレコードを含むテーブルがあります。
列の 1 つはSourceText
タイプnvarchar(4000)
です。
SourceText を検索して、別の文字列が含まれているかどうかを確認する非常に効率的な方法が必要です。
テーブル構造には非常に柔軟性があります。挿入手順を変更し、他のより優れたインデックス付きテーブルを使用して物事を追跡できます。1 つの考えは、SourceText を単語ごとにトークン化し、その単語をインデックス付きテーブルに格納してから、マッピング テーブルを使用してメイン テーブルにマップすることでした。問題は、SourceText
列が任意の言語である可能性があり、re:parantheses などのルールが常に存在することです。たとえば、英語で区切り文字として ' ' を使用してトークン化すると、(Where
代わりに のようなものが得られますがWhere
、これは問題です。
何か案は?