是否可以在Solr中对提升查询进行排序? 我有以下情况:
<doc id="A">>
<str name="PUB_DATE">2017-04-19T11:08:30Z</str>
<str name="TIPOLOGY">TWO</str>
</doc>
<doc id="B">
<str name="PUB_DATE">2017-04-19T11:08:30Z</str>
<str name="TIPOLOGY">ONE</str>
</doc>
<doc id="C">
<str name="PUB_DATE">2017-04-19T11:08:30Z</str>
<str name="TIPOLOGY">THREE</str>
</doc>
<doc id="D">
<str name="PUB_DATE">2017-04-20T11:08:30Z</str>
<str name="TIPOLOGY">ONE</str>
</doc>
这个想法是:
首先按pub_date desc排序。
如果是同一个pub_date,则按照tipology字段进行提升。一,二,三。
所以通过上面的例子,Solr查询将返回D - &gt; B - &gt; A - &gt; ç
我尝试以下查询但不起作用:
/select?defType=edismax&q=XXXXXXXX&sort=PUB_DATE+desc&bq=TIPOLOGY:ONE^100+TIPOLOGY:B^10++TIPOLOGY:C^1
答案 0 :(得分:2)
你的排序&#39; param要求结果仅按PUB_DATE排序,而bq param正在影响每个doc的得分。
你需要做的是先让他们按PUB_DATE排序,然后得分,如下:
/select?defType=edismax&q=XXXXXXXX&sort=PUB_DATE desc, score desc&bq=TIPOLOGY:ONE^100+TIPOLOGY:B^10++TIPOLOGY:C^1
如果您的bq提升足以获得文档&#39;分数按顺序工作(因为分数也受q = XXXXXX部分的影响)