2012-10-23 59 views
1

我有奇怪的麻烦创建于狮身人面像2.0.5-id64释放指数(r3308)狮身人面像怪异的行为

/etc/sphinx/sphinx.conf

source keywords 
{ 
     // .. 
    sql_query  = \ 
     SELECT keywords.lid, keywords.keyword FROM keywords_sites \ 
     LEFT JOIN keywords ON keywords_sites.kid = keywords.kid \ 
     GROUP BY keywords_sites.kid \ 

    sql_attr_uint  = lid 
    sql_field_string = keyword 
     // ... 

} 

我得到警告

WARNING: attribute 'lid' not found - IGNORING 

但是,当我改变查询:

sql_query  = \ 
    SELECT 1, keywords.lid, keywords.keyword FROM keywords_sites \ 
    LEFT JOIN keywords ON keywords_sites.kid = keywords.kid \ 
    GROUP BY keywords_sites.kid \ 

我没有收到任何警告。为什么会发生?

回答

2

始终将sql_query的第一列用作document_id。

document_id不能被定义为属性。

如果要将主键存储在属性中,则需要在查询中包含两次。