我的Sphinx conf中有一个pb,声明了sql_attr_multi。 我设置:
sql_attr_multi = uint surface_bien from ranged-query; \
SELECT annonce_id AS id, surface_bien FROM ann_info \
WHERE surface_bien BETWEEN $start AND $end; \
SELECT MIN(id),MAX(id) FROM ann_info
当我更新我的索引sphinx return
时ERROR: index 'ann_annonce': sql_range_step=0: must be positive.
我不知道错误来自哪里。
我尝试在sql_attr_multi后面的源代码中设置sql_range_step。
我的来源
source ann_annonce : Immo
{
sql_query = SELECT id, * FROM ann_annonce;
sql_range_step = 1000
sql_attr_multi = uint surface_bien from ranged-query; \
SELECT annonce_id AS id, surface_bien FROM ann_info \
WHERE surface_bien BETWEEN $start AND $end; \
SELECT MIN(id),MAX(id) FROM ann_info
sql_range_step = 1000
sql_attr_multi = uint option_id from query; \
SELECT annonce_id AS id, option_id FROM ann_option_index;
sql_query_info = SELECT * FROM ann_annonce WHERE id = $id;
}
THX。
答案 0 :(得分:1)
我遇到了类似的问题,并通过对索引和文档查询使用范围查询来解决问题。
而不是:
sql_query = SELECT id, * FROM ann_annonce;
使用:
sql_query_range = SELECT MIN(id),MAX(id) FROM ann_annonce
sql_query = SELECT id, * FROM ann_annonce WHERE id>=$start and id<=$end;
在此之后,它停止抱怨范围和属性也被索引。看起来像狮身人面像中的一个错误。
你的问题有点老了,但希望这个解决方案有用的人。