0

私はWindowsマシンでapache-solr-3.6.0を使用しています。一定の単語数(この数以下)で2つの単語を検索したい。例:次のフレーズを考えてみましょう。2語以内の間隔でデイジーと試験を検索したいと思います。

Daisy has exam.
Daisy has an exam.
Daisy has a math exam.
Daisy has a difficult math exam.

そんなものを探して、TermProximityを試してみました。

http://localhost:8983/solr/select/?q="Daisy exam"~2&version=2.2&start=0&rows=10&indent=on&debugQuery=true

必要な結果は次のフレーズになります。Daisy has an exam.ただし、上記の基準を使用すると、結果は最後の3つのフレーズになります。

では、正確な数の単語を離して使用するアイデアはありますか?

4

1 に答える 1

0

ここで関連する質問を確認してください: Solrの近接性の順序付けと順序付けなし

「2語以内」と言うときは、最初と2番目のフレーズの両方が一致している必要があります。次に、クエリはになります"Daisy exam"~1。これは、デイジー試験とそれらの間の挿入に一致します(1つの変更:exam位置を2から3に変更します)。

一致した結果から「デイジー試験」を防ぐため-"Daisy exam"に、クエリに追加することができます。fq=-"Daisy exam"または、クエリ文字列パラメータに追加することもできます。

于 2012-09-17T04:01:00.530 に答える