0

約 100 万のドキュメントを含む RavenDB コレクションがあります。これらのドキュメントの 1 つのフィールドは、ドメイン名を含む文字列です。ユーザーがドメインの部分文字列で検索できるようにするというビジネス要件があります。たとえば、「example」を検索すると、ドメイン フィールドに example.com、example.net、または www.example.com が含まれるドキュメントが返される必要があります。

もう 1 つの標準的な検索は、すべての .com ドメインを返す .com などのドメイン拡張子によるものです。

常にピリオドが検索語を区切ると仮定するのは安全ではありません。

私は MS SQL 環境から移行しており、ワイルドカードのサポートをリードせずにこれを行うことに頭を悩ませようとしています。Raven では先頭にワイルドカードを使用できることはわかっていますが、そのような検索は高価で時間がかかります。フィールドの逆バージョンを検討しましたが、それは要件を満たしていません。

NGram アナライザーは私の答えですか? 検索要件を満たすにはどうすればよいですか?

4

2 に答える 2

0

ストリングを 2 回保管します。1 回は通常、1 回は反転します。両方で StartsWith 検索を行う

于 2013-07-31T09:04:56.850 に答える