我正在使用Apache solr搜索,并且按字段值排序存在问题。
任何人都可以解决此问题吗?
即假设我们有一个名为'function_area'的字段,值可能是1,2,3,4。
但是我想要包含function_area = 2的记录应该是最重要的,其余记录应该由function_area按升序排列。
按顺序记录
记录1 => function_area = 2
记录2 => function_area = 1
记录2 => function_area = 3
记录2 => function_area = 4
答案 0 :(得分:1)
您可以使用在Solr中以CommonQueryParameters形式存在的排序参数。此外,FunctionQuery因为Solr 3.1也可以在这里探索。
可以使用exists
函数来获取首先排序特定字段值的结果:
http://localhost:8983/solr/collection1/select=q=*:*&sort=exists(query({!v='function_area:2'})) DESC