我正在制作一个Solr请求并在fq参数中传递docs的id。 Solr按预期返回按文档分数排序的文档。我希望Solr以与发送ID相同的顺序返回文档。
因此,有一个值可以排序参数,而不是我可以给出的结果。
答案 0 :(得分:0)
而不是传递给fq。使用电梯组件。
编辑solr conf文件夹中的elevate.xml文件和
<query text="ipod">
<doc id="S03" />
<doc id="S01" />
<doc id="S02" />
</query>
无论solr得分值如何,它都会按照你在elevate.xml文件中给出的顺序返回文档。
OR
在edismax中使用bq(Boosting)参数。 例如:
defType=edismax&q="ipod"&bq=id:S03^4+id:S02^3+id:S01^
答案 1 :(得分:0)
默认排序顺序 - 如果未提供排序且所有分数相似(或仅使用fq
- 应该是内部Lucene ID - 这意味着您应该按顺序获取文档他们已经加入了。
您可以使用sort=_docid_ asc
明确要求。
但是,如果这非常重要 - 因为如果更新后文档将被重新排序,并且您可能希望保留原始排序顺序,请添加一个字段以跟踪添加文档的时间并按该字段排序。