2012-07-06 27 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