2016-08-02 14 views
0

"Homepage Content"というクエリがあるとします。 また、titleフィールドには、(1)「ホームページコンテンツ」と(2)「ホームページのコンテンツ」の2つのレコードがあります。solrフレーズ検索で単語の相対位置を区別する方法

(1)が(2)よりも高い一致スコアを持つようにsolrを設定する方法。ここで

(私はそれがこの簡単な例ではedismax使用しても意味がありません知っている。しかし、私は、私が実際の状況にedismax使っているという事実を認識することが問題解決をしたいと思います。)

です私の現在の(非常に単純化された)の構成:

のschema.xml

<field name="title" type="text_general" indexed="true" stored="true"/> 

solrconfig.xml

defType='dismax' 
qf="title^2" 

答えて

1

代わりに、pf引数を使用することもできます。これらの用語が互いに接近している場合は、ドキュメントのランク付けが高くなります。

さらにpsパラメータ
(フレーズスロープ)を使用して、関連するフレーズに一致するように2つの用語を区切ることができる位置の数を指定できます。

Hereは、ドキュメントへのリンクです。

0

エレベーターコンポーネントで試しましたか?

一部のクエリ文字列では、結果フォルダの先頭にあるdocをelevate.xmlファイルのdocIDを使用して指定できます。これはconfフォルダ内にあります。

例:DOCは、= trueを除外する特定一致した場合も考え

<query text="Homepage"> <doc id="docID" /> <!-- put the first doc ID--> <doc id="docID" exclude="true" /> <!-- exclude this doc --> </query>

結果でそのドキュメントを排除することができます。

関連する問題