3

Synonym Analyser を使用していますが、これは単一の単語の同義語しか追加しません。フレーズ用の同様のアナライザーはありますか、またはフレーズの同義語を追加する他の方法を知っている人はいますか? たとえば、「The Big Apple」は「New York」のヒットを返す必要があります。

ありがとう。

4

1 に答える 1

2

明らかに、独自のアナライザーを構築できます...単一の単語を取り、複数の単語に一致する同義語アナライザーを構築しました...カスタム開発。

そうする代わりに、クエリの構築または解析中に同義語を動的に挿入することをお勧めします。たとえば、ユーザーに「The Big Apple」を検索させることができます... 1) 同義語句について「The Big Apple」という語句をチェックします 2) 同義語句が存在する場合は、2 つの PhraseQueries「The Big Apple」でブールクエリを作成しますそして「ニューヨーク」。

別の (より効率的な方法) は、ブール値の PhraseQueries の代わりに MultiPhraseQueries を使用することです。これは、ブールクエリがどれほど複雑になるかによって異なります...私の場合、両方ともかなり高速に動作することがわかりました。

これの欠点は、検索が少し遅くなることです。利点は、完全に動的であり、シノニムを構成/変更する場合にインデックスを再構築する必要がないことです。また、各クライアントが異なるシノニムを持つことができるマルチテナント ソリューションがある場合にも最適です。

于 2012-10-24T20:36:26.263 に答える