2013-05-30 45 views
0

我對獅身人面像很新,我有一個小問題。我的sphinx.conf文件如下獅身人面像搜索不給ID和文本字段信息

sql_query  = \ 
    SELECT id, user_id, title \ 
    FROM table 

sql_attr_uint  = user_id 
sql_query_info  = SELECT * FROM table WHERE id=$id 

我有利用sphinxapi.php,包含下面的代碼

// connect to mysql database // 
    require_once('sphinxapi.php'); 
    $s = new SphinxClient; 
    $s->setServer("127.0.0.1", 9312); 
    $s->setMatchMode(SPH_MATCH_ANY); 
    $s->SetLimits(0, 2); 
    $result = $s->Query('test words'); 

如果我打印$結果已user_id說明字段,但沒有一個PHP文件包含id或標題字段。有沒有辦法檢索這些?

回答

2

它會有id。它的jsut不在'attrs'數組中,它是'matches'數組的關鍵。

字段的'文本'沒有被存儲,所以獅身人面像無法返回它。要獲得標題,請返回到原始數據庫。這將是一個非常快速的查詢,因爲它可以在IN(..)查詢中使用ID列表。

(雖然你可以選擇把文本字符串中的屬性,獅身人面像,然後將存儲和ATTRS數組中返回。可以用sql_field_string,使一列,既是一個字段和屬性)

+0

我試圖添加標題作爲字符串屬性,但它不讓我。拋出「模式中沒有字段 - 不會索引」錯誤...我也檢查,如果ids是匹配數組的鍵,它不是...關鍵只是數字從1開始,然後2,3等等 – pewpewlasers

+0

你不能讓它只是一個屬性。你需要一些字段來索引。田地是什麼力量搜索。但是,您可以創建一個列。 – barryhunter

+0

如果你有數字1,2和3,那麼你得到的文件1,2和3.這些是ID!如果他們在哪裏順序索引,將從0開始,並將需要使用SetArrayResult – barryhunter

0

試試這個

sql_query  = \ 
    SELECT id, user_id, title, title as title_str \ 
    FROM table 

sql_field_string = title_str