2010-05-07 6 views
1

J'ai un pb avec ma déclaration de sql_attr_multi dans mon Sphinx conf. Je mis:Problème avec sql_range_step dans shinx.conf avec Sphinx

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  

Lorsque je mets à jour mes index retour sphynx

ERROR: index 'ann_annonce': sql_range_step=0: must be positive. 

Je ne sais pas où l'erreur vient.

J'essaie de définir sql_range_step dans la source derrière le sql_attr_multi.

Ma source comme

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.

Répondre

1

J'ai un problème similaire et l'ai résolu en utilisant une requête à distance pour les deux: requêtes d'index et de document.

Au lieu de:

sql_query = SELECT id, * FROM ann_annonce; 

utilisation:

sql_query_range = SELECT MIN(id),MAX(id) FROM ann_annonce 

sql_query = SELECT id, * FROM ann_annonce WHERE id>=$start and id<=$end; 

Après cela, il cesse de se plaindre de la gamme et les attributs indexé aussi bien. On dirait un bug dans le sphinx.

Votre question est un peu ancienne, mais j'espère que cette solution sera utile.

Questions connexes