3

こんにちはstackOverflowers

Solr ドキュメント コレクションに、names_txt というフィールドを持つフィールドがあります。これは multiValue="true" フィールドです。

このフィールドには、ドキュメントに関連付けられているすべての人物の名前が含まれています

あいまい検索を実行すると同時に、一致する用語間の用語の数を制限できるようにしたいと考えています。

クエリ

names_txt:("markus foss"~2)

markusfossという用語があり、それらの間に最大 2 つの用語があるすべてのドキュメントを返します。

しかし、あいまいな方法で検索し、一致する単語の最大数も指定したい場合、構文を正しく取得できません。

クエリ:

names_txt:(markus~0.7 foss~0.7)

これは機能しますが、ある値に「markus something」が含まれ、別の値に「foss somethingElse」が含まれるドキュメントが返されるため、false ポジティブが返されます。

私が書きたいのは:

(markus~0.7 foss~0.7)~2
  • しかし、この構文はsolrでは違法です。

誰でも私の問題の解決策を持っていますか?

4

2 に答える 2

0

問題は、 Solrの通常のクエリ パーサーがそれらをサポートしていないことです。スパンをサポートするものについて言及しているこの記事を見てください: Surround、Xml-Query-Parser、および Qsol。ただし、現在のsolrバージョンでそれぞれのステータスを確認してください。

于 2012-08-15T18:00:51.523 に答える