如何使用太阳黑子以字母大小写的顺序排列结果?
我在https://github.com/sunspot/sunspot/wiki/Ordering-and-pagination或http://wiki.apache.org/solr/FunctionQuery或https://github.com/sunspot/sunspot#ordering
中找不到任何相关内容答案 0 :(得分:1)
我正在寻找一个类似的答案,我还没有找到它。但是我偶然发现了这段神奇的代码:string(:sort_title) { title.downcase }
现在做一点解释。 Solr(太阳黑子)不允许按文本类型排序/排序,字符串类型不区分大小写。因此,我想到了以下解决方案。假设您要使用不区分大小写的排序对字段field1
进行排序。然后,您可以在索引的可搜索部分中创建另一个字段,并使用值field2
将其称为field1.downcase
。然后按field2
订购并检索结果。这样你就可以保持两种情况类型(在field1中,这样可以方便和正确地显示数据)和按案例类型(在field2的帮助下)。它应该看起来像这样:
class Test < ActiveRecord::Base
searchable do
string(:field1) { your_class_field }
string(:field2) { your_class_field.downcase(same as above) }
end
end
答案对你来说有点晚了,但也许其他人会从中受益!