使用Sphinx在shinx.conf中使用sql_range_step进行问题

时间:2010-05-07 10:27:07

标签: sphinx

我的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。

1 个答案:

答案 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;

在此之后,它停止抱怨范围和属性也被索引。看起来像狮身人面像中的一个错误。

你的问题有点老了,但希望这个解决方案有用的人。