2010-09-29 6 views
0

J'ai travaillé avec ça toute la journée. Mais ne le faites pas fonctionner. Je peux rechercher par CMD et obtenir des résultats sur mes tables indexées mais j'ai des problèmes essayant de comprendre le sphinxapi pour php, je ne suis pas encore complètement comment écrire une requête et obtenir les résultats que quelqu'un peut m'aider à voir si ça marche.RECHERCHE SPHINX: searchd doit-il fonctionner en tant que service pour le faire fonctionner avec PHP?

Comment écrire un QUERY PHP pour SPHINX
BASE DE DONNÉES = searchtest
TABLE = documents

Overlook de mon fichier sphinx.conf

type     = mysql 
sql_host    = localhost 
sql_user    = root 
sql_pass    = sqlpass 
sql_db     = searchtest 
sql_port    = 3306 # optional, default is 3306 


sql_query    = \ 
    SELECT * \ 
    FROM documents 
} 


index searchtest 
{ 
    source     = src1 
    path     = C:/xampp/htdocs/sphinx/data/searchtest 
    docinfo     = extern 
    charset_type   = sbcs 
} 


indexer 
{ 
    mem_limit    = 32M 
} 


searchd 
{ 
    port     = 9312 
    log     = C:/xampp/htdocs/sphinx/log/searchd.log 
    query_log    = C:/xampp/htdocs/sphinx/log/query.log 
    read_timeout   = 5 
    max_children   = 30 
    pid_file    = C:/xampp/htdocs/sphinx/log/searchd.pid.pid 
    max_matches    = 1000 
    seamless_rotate   = 0 
    preopen_indexes   = 0 
    unlink_old    = 1 
} 

après l'exécution de l'indexeur --all les fichiers apparaît dans le répertoire/data, mais le répertoire/log est vide

maintenant comment puis-je écrire une requête pour php?
Quelqu'un peut-il m'aider à écrire une requête qui recherche "mimmi" dans toutes les tables et affiche les résultats?

<?php 
    include('sphinxapi.php'); 

    $cl = new SphinxClient(); 

//what to write here, please help stackoverflow? 
?> 

Répondre

2

Essayez cette

include('sphinxapi.php'); 
    $cl = new SphinxClient(); 
    $result = $cl->Query("mimmi"); 
    print_r($result); 

http://www.sphinxsearch.com/docs/current.html#api-funcgroup-querying

Oui, searchd doit être en cours d'exécution pour que cela fonctionne. Tout d'abord, essayez-le avec l'option "--console", et quand vous le faites fonctionner, "--install" le service.

http://www.sphinxsearch.com/docs/current.html#ref-searchd

+0

thansk pour votre aide, je parviens enfin à se searchd à courir, mais le code php que vous avez écrit, quand je l'essayer, il charge juste pour toujours et happends rien, il affiche juste une page blanche. –

+0

Voyez-vous des messages dans la console? Très probablement, il expire lors de la connexion à searchd. Essayez d'ajouter SetServer (http://www.sphinxsearch.com/docs/current.html#api-func-setserver) pour vous assurer que vous vous connectez au bon hôte/port. – user187291

Questions connexes