1

sql_queryMySQL データベースの構成で何か奇妙なことが起こっているようです。sphinx.conf の sql_query の関連部分は次のとおりです。

sql_query = ... GROUP_CONCAT(DISTINCT IFNULL(`vendor_items`.`description`, '0') 
SEPARATOR ' ') 
AS `vendor_item_descriptions`,...

問題は、場合によっては、このdescriptionフィールドの一部のみがインデックス化されることです。インデックス作成がある程度まで進み、フィールドの内容にそれ以上インデックスを作成しないようです。ある特定のアイテムについて、そのフィールドから一連の単語を検索することで、これを理解しました。そのアイテムの説明コンテンツの最初の約 1/3 がインデックス化されているようです。文字エンコーディングの問題かもしれないと思ったので、印刷できないUTF-8文字の説明フィールドを削除して、インデックスを再作成しました。しかし、運がありません。

他の誰かがこの種の問題を経験したことがありますか、または問題が何であるかを知っていますか?

4

1 に答える 1

2

I would suggest you look at the group_concat_max_len MySQL variable.

http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat

http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#sysvar_group_concat_max_len

In sphinx terms can use a sql_query_pre to update the value for the session

于 2013-04-12T14:49:18.307 に答える