2012-07-06 72 views
2

如果我尝试在文本字段上使用order_by,我会得到:“没有配置名称标题的字段”。太阳黑子:不能在文本字段上使用“order_by”?

适用于“字符串”类型的字段。所以,我最终使用一种变通方法,如:

searchable do 
    text :title 

    string :title_sortable do 
    title 
    end 
end 

是否有任何理由为什么我们不能order_by的文本字段?

回答

3

这是由Solr设计。文本字段被标记。在标记字段排序没有意义。

在两个不同的文档中考虑以下两个空白标记化字段。

“快火弹药” “黑熊”

当你按升序排列,第一个应该没有第二个出现之前,只是因为它有词“弹药”,在它进行排序。

这就是为什么可排序字段应该定义为字符串。

+0

啊,我看到我正在使用text_general(这显然是可订购的?),当我使用SolrJ时,我的标题字段返回。转换为Ruby/Sunspot后,我将其设为文本字段。谢谢。 – 2012-07-07 15:50:13