2011-04-22 73 views
1

我使用1.10獅身人面像。獅身人面像排序問題?

source tags 
{ 
    type       = mysql 
    sql_host      = localhost 
    sql_user      = abc 
    sql_pass      = 123456 
    sql_db       = company 
    sql_sock      = /var/lib/mysql/mysql.sock 
    sql_port      = 3306 

    sql_query_pre = SET NAMES utf8 
    sql_query_range  = SELECT 1,max(id) FROM companies 

sql_query      = \ 
     SELECT id,name FROM companies; 
; 
     sql_attr_str2ordinal = name 

} 

這是按名稱排序,但我正在回顧數據。 結果集是[name] => 954 ......就像這樣。

sql_attr_str2ordinal = name在使用之前,我使用的是sql_field_string = name that name是可檢索的,但不能按名稱排序。 這是什麼解決方案?

回答

2

sql_attr_str2ordinal

不存儲值只存儲索引後的排序順序(順序)。所以你不能從它的價值。

sql_field_string

全文領域,但缺乏排序(因爲它不是一個屬性)。

sql_attr_string

缺少全文索引。

所以我會做的是:

source tags 
{ 
    type       = mysql 
    sql_host      = localhost 
    sql_user      = abc 
    sql_pass      = 123456 
    sql_db       = company 
    sql_sock      = /var/lib/mysql/mysql.sock 
    sql_port      = 3306 

    sql_query_pre = SET NAMES utf8 
    sql_query_range  = SELECT 1,max(id) FROM companies 

    sql_query      = \ 
     SELECT id,name as name_ordinal, name as name FROM companies; 
    sql_attr_str2ordinal = name_ordinal 
    sql_field_string = name 


} 

然後排序name_ordinal名稱查詢

+1

您可以指「sql_attr_str2ordinal」與sql_attr_string.it替換將返回按名稱排序並返回值。 – Ikon 2011-04-25 09:08:27

+1

我修復了我的答案,因爲它有一個錯誤 – frail 2011-04-25 09:09:35

+0

好的感謝。我需要一個實例的實時索引幫助。謝謝你的快速回放。 – Karthik 2011-04-25 09:14:08