0

、、、などのキーワードを含む巨大なデータベースがありhtmlます。ユーザーは部屋を検索できますが、現時点では単に次のように実装されているだけです。html5xhtml

[...] WHERE name LIKE '%keyword%' LIMIT 20;

これは最初は簡単な解決策ですが、フォールト トレラントではありません。そして、ユーザーは多くの過ちを犯します。これを強化するために、「緩やかな検索」を導入したいと思います。つまり、「html」が一致を返さないか、ほとんど一致しない場合 (たとえば、10 未満) は、「html」などをリストに追加します。

今の本当の問題は、どうすればそれを行うことができるかということです。 この「緩い検索」には専門用語がありますか?

4

1 に答える 1

0

これは間違いなくテキスト検索の一部であり、あいまい一致または近似文字列一致とも呼ばれます。たとえば、Google にアクセスして「MSYQL」と入力すると、代わりに「MYSQL」が推奨されます。

これが典型的なアプローチです。すべての有効なキーワードのリストから始めます。はい、そこから始めましょう。多くのテキスト アプリケーションでは、これはレキシコンと呼ばれます。

有効なキーワードのリストで検索用語を探します。何も見つからない場合は、「レーベンシュタイン距離」(ここで説明) と呼ばれるものを使用して、最も近い一致を見つけます。次に、これらを検索に使用します。「Levenshtein distance mysql」を検索すると、ここにアルゴリズムの実装が見つかります。

既知のスペルミスが数個しかない場合は、シソーラスを使用して問題を解決することもできます。これにより、1 つの検索用語が、一致する可能性のある他の用語に置き換えられます。

于 2013-09-04T12:54:06.797 に答える