0

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

如果我像这样运行“搜索”:

search -i news navigateur

我有以下错误:

index 'news': search error: .

索引器工作正常:

$ sudo indexer news
Sphinx 2.0.6-release (r3473) 版权所有 (c) 2001-2012, Andrew Aksyonoff 版权所有 (c) 2008-2012, Sphinx Technologies Inc ( 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 文档/秒

总共 3 次读取,0.000 秒,115.5 kb/调用平均值,0.1 毫秒/调用平均值

总共 9 次写入,0.000 秒,83.5 kb/调用平均值,0.0 毫秒/调用平均值

而且,使用 API 进行测试,PHP 代码什么也没有返回。有人已经有这个错误了吗?

这里的配置文件:

指数新闻{

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

}

索引器{

    mem_limit = 32M 

}

搜索{

    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 }

谢谢。

法布里斯

4

2 回答 2

1

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

search -i news --noinfo navigateur

或者您可以从配置中删除此字符串:

sql_query_info      = SELECT titre FROM news WHERE id=$id

如果你不需要它。

于 2013-08-23T12:15:33.950 回答
0

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

好消息是search实用程序,只是一个测试工具,所以它并不重要。它实际上并没有用于测试以外的任何事情。

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

与其说它返回“无”,不如使用 getLastError 和 getLastWarning 来调查原因......

于 2013-03-20T12:28:28.213 回答