我想按价格过滤solr 6.4.1中的结果,同时仍将没有价格的结果保留在集合中,并将没有价格的结果推到结果列表的末尾。
数据集示例:
item1 = $32
item2 = $31
item3 =
item4 = $33
过滤器示例查询:
<str>{!tag=price}price:[1 TO *]</str>
所需结果:
result4 = $31
result4 = $32
result4 = $33
result4 =
在过滤器查询中使用1将从集合中过滤出空结果,将0作为开始将其返回到列表顶部。
问题是换句话说,如何按价格作为最高价格结果的0排序?
答案 0 :(得分:0)
可以在schema.xml
中的be defined with sortMissingLast
字段中使缺少值的文档在数据集的末尾进行排序。
<fieldType name="price" class="solr.IntPointField" sortMissingLast="true" omitNorms="true"/>
请注意,这是假设字段丢失。如果它实际上没有值,则不要在该字段中索引0-根本不要添加该字段。