用PHP使用Sphinx.“搜索”出错: "搜索错误:"


Using Sphinx with PHP. Error with the "search" : "Search error: ."

我正在用PHP测试Sphinx(教程:http://www.siteduzero.com/informatique/tutoriels/creer-un-moteur-de-recherche-avec-sphinx-et-php)

如果我像这样运行"search":

search -i news navigateur

我有以下错误:

index 'news': search error: .

索引器工作正常:

$ sudo indexer news
Sphinx 2.0.6-release (r3473)Copyright (c) 2008-2012,狮身人面像科技公司(http://sphinxsearch.com)

使用配置文件'/usr/share/php/sphinx/etc/sphinx.conf'…索引索引"新闻"…

收集了57个文档,0.7 MB排序0.1 Mhits, 100.0%

共完成57个文档,689264字节,共计0.050秒,13684561字节/秒,1131.67 docs/sec

共3次读取,0.000秒,115.5 kb/call avg, 0.1 msec/call avg

总共9次写,0.000秒,83.5 kb/call avg, 0.0 msec/call avg

并且,使用API进行测试时,PHP代码没有返回任何内容。有人已经遇到这个错误了吗?

下面是配置文件:

index news {

    source = news
    path   = /usr/share/php/sphinx/var/data/news

}

indexer {

    mem_limit = 32M 

}

searchd {

    port      = 3312
    log       = /usr/share/php/sphinx/var/log/searchd/searchd.log
    query_log = /usr/share/php/sphinx/var/log/searchd/query.log
    pid_file  = /usr/share/php/sphinx/var/log/searchd/searchd.pid 

}

来源新闻{

    type                = mysql
    sql_host            = localhost
    sql_user            = root
    sql_pass            =  
    sql_db              = siteduzero_sphinx
    sql_query_pre       = SET NAMES utf8
    sql_query           = SELECT id'
                                , categorie'
                                , titre'
                                , contenu FROM news
    sql_attr_uint       = categorie
    sql_query_info      = SELECT titre FROM news WHERE id=$id }

谢谢。

法布里斯

刚刚遇到了同样的问题。最后一个配置参数中的邪恶根源。这个命令会正常工作:

search -i news --noinfo navigateur

或者你可以从配置中删除这个字符串:

sql_query_info      = SELECT titre FROM news WHERE id=$id

如果你不需要的话

这是search实用程序中的一个错误。

好消息是search实用程序,只是一个测试工具,所以它并不重要。它实际上除了测试之外没有其他用途。

关于你的API问题,你有searchd守护进程运行吗?

你应该使用getLastError和getLastWarning来调查为什么…