我正在使用 solr 3.4 并希望 solr 搜索结果在文本字段上排序。如何实现像 int 自然排序一样对文本字段进行排序?
有没有办法在查询时将文本字段转换为int?
我的排序字段是字符串类型,我希望它在排序时表现得像 int 字段。我无法更改字段类型,因为索引大小太大并且无法重新索引。
知道我怎样才能实现这个目标吗?
不太确定,不过你可以查一下函数查询 http://wiki.apache.org/solr/FunctionQuery使用像abs这样的函数或任何可能将其转换为int值并使用它进行排序的数学函数
e.g. abs(some_field) desc
否则,将字段复制到需要重新索引的 int 类型的新字段中。
此外,排序在多值和标记化文本字段上效果不佳。
文档 http://wiki.apache.org/solr/CommonQueryParameters#sort-
可以对文档的“分数”进行排序,也可以对任何 multiValued="false" indexed="true" 字段进行排序,前提是该字段是非标记化的(即:没有分析器)或使用仅生成单个术语(即:使用 KeywordTokenizer)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)