2017-09-11 7 views
0

私は、クエリを実行するために必要な文字列を格納する多値フィールドを持っています。 IDは文字列として格納されます。だから、これはフィールドです:Solrの定数倍数多値フィールド

<field name="id" type="string" indexed="true" stored="true" multiValued="true" termVectors="true"/> 

そしてクエリは、このフィールドは、これらのIDの両方を持っている23個のまたは24の文書がでているある文書をフィルタリング

q: (id:'23' OR id:'24')^2 

ようになります。そのIDのいずれかを持つ文書は以下のとおりです。

私が望むのは、2の定数ブーストです。少なくとも1つのIDが一致する場合は、2のブーストを与えます。どのようにすればよいですか?

答えて

0

一つの可能​​なオプションは、この場合^=

q: (id:'23' OR id:'24')^=2 

^を交換することにより、ConstantScoreQueryにこのクエリを変換することで、あなたの文書があります場合は、両方の条件23および24またはどちらか一方がまだ同じスコアを持っています2.0

+0

ありがとう、それは完璧に動作します。 – Zalarox

関連する問題