2017-09-11 41 views
0

我有一个多值字段存储字符串,我需要执行查询。它将ID存储为字符串。所以,这是场:Solr中的不断提升多值字段

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

而且看起来查询像

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

这种过滤掉的文件,其中字段是23个或24的文件既具有这些ID是在顶部,具有这些ID之一的文件在下面。

我想要的是一个不断提高的2.如果至少有一个ID匹配,给它一个提升2.我如何实现这样的事情?

回答

0

一种可能的选择是将这个查询转换为ConstantScoreQuery,用^=

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

更换^在这种情况下,如果你的文档将有两个术语23和24或只是其中任何一个你仍然会有2.0的相同分数

+0

谢谢你,它完美的作品。 – Zalarox