2009-12-14 99 views
0

任何人都可以幫助我理解在Sphinx中創建MVA(多值) 屬性的預期數據格式嗎?Sphinx中的MVA屬性

我有一個MySQL函數返回一行逗號分隔的整數,整理爲 GROUP_CONCAT,作爲一個blob。我還有兩個MVA屬性,它們將 JOIN語句的結果與GROUP_CONCAT作爲blob(由ThinkingSphinx生成)進行比較。這些都包含在我的sphinx.conf中的sql_query中。

我試着運行在一個小的結果在控制檯中設置的SQL,和它的作品:爲所有 的MVA列,結果是包含諸如數據的斑點:

2432,35345,342347,8975,453645 

等等。正確使用JOIN/GROUP_CONCAT組合索引生成的兩個MVA屬性。但是,使用MySQL函數生成的MVA屬性會導致 索引無提示失敗(看起來很少或沒有索引數據)。儘管這是一個查詢在控制檯的工作絕對沒問題..

所以數據格式似乎是相同的,但獅身人面像拒絕的一列。有沒有人知道定義MVA屬性的任何問題,這可能會幫助我調試 這個?

回答

0

我終於解決了這個問題。這是因爲 似乎無關的事情發生的:'sql_attr_str2ordinal'屬性似乎受到影響 (或影響)SQL查詢/索引的方式我不完全瞭解。

請參見:http://www.sphx.org/forum/view.html?id=2867

幸運的是,在我的情況,我能夠完全刪除它,和索引現在似乎工作。

1

我從來沒有用過的思維 - 獅身人面像(是一個PHP店在這裏),但我不認爲你應該group_concat'ing結果。從我的sphinx.conf文件中的一個工作示例:

sql_attr_multi = uint categories from query; SELECT entry_id, cat_id FROM exp_category_posts 
+0

謝謝。但是,GROUP_CONCAT方法似乎是在使用'field'方法對MVA屬性進行索引時執行此操作的正確方法。你的示例索引從'查詢',你說得對:GROUP_CONCAT不正確。 –

相關問題