我想知道是否可以按照您向 SOLR 请求文档的顺序进行排序。我正在运行基于 In 的查询,并且希望 SOLR 根据我要求的顺序返回它们。
在 (4,2,3,1) 中应该返回我订购的文档 4,2,3,1。
谢谢。
最佳答案
您需要Sorting在 solr 中,按字段排序。
我假设“基于查询”的含义类似于:获取 fieldx
的值位于 (val1
,val2
) 中的文档。您可以将字段作为多值字段和 facet在那个领域。分面查询是一种开箱即用的“存在”搜索(可以这么说),它也可以执行更复杂的搜索。
编辑OP的查询:
更新具有 JSON 多值字段的文档 here 。请参阅该行
"my_multivalued_field": [ "aaa", "bbb" ] /* use an array for a multi-valued field */
至于进行构面查询,请检查this .
您需要执行一个或多个 fq 语句:
&fq=field1:[400 to 500]
&fq=field2:johnson,thompson
另外,请阅读以下事实(在上面的链接中):您需要关注存储字段而不是索引字段。
关于SOLR 按 IN 查询排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8976548/