2011-07-20 3 views
1

J'ai récemment installé la recherche Sphinx sur une instance EC2 exécutant CentOS. L'utilisation de la recherche depuis la ligne de commande fonctionne correctement et j'ai créé un index de documents valide. Lorsque je tente d'accéder au php api par le démon searchd, cependant, je reçois l'erreur suivante:Erreur de recherche Sphinx: Échec de la requête: protocole de recherche attendu 1+, version obtenue '0'

Query failed: expected searchd protocol version 1+, got version '0' 

Voici les informations de configuration searchd de sphinx.conf:

searchd 
{ 
    listen   = /var/run/searchd.sock 
    log    = /usr/local/sphinx/var/log/searchd.log 
    query_log  = /usr/local/sphinx/var/log/query.log 
    read_timeout = 5 
    max_children = 30 
    pid_file  = /usr/local/sphinx/var/log/searchd.pid 
    max_matches  = 1000 
    seamless_rotate = 1 
    preopen_indexes = 1 
    unlink_old  = 1 
    workers   = threads # for RT to work 
} 

Je ne peux pas résoudre ce . Toute aide serait appréciée.

EDIT 1: J'ai lancé le démon searchd.

Répondre

1

Il y a des erreurs avec les versions API et searchd. Il pourrait être préférable d'utiliser la même API que searchd.

+0

J'utilise les versions incluses des deux de la version 2.0.1-beta généralement recommandée. Comment puis-je vérifier ce problème et puis trouver les versions correctes à utiliser ensemble? –

+0

Il peut y avoir 2 démons en cours d'exécution et vous vous connectez au plus ancien. Pourriez-vous émettre "ps aufx | grep searchd" pour vous assurer que son démon est en vie? –

0

La version de votre API PHP est inférieure à searchd. Essayez simplement la même API client que searchd.

0

C'est un problème de performance très probablement. Lorsque searchd est incapable de répondre à trop de demandes, vous obtiendrez cette erreur.