【问题标题】:Using Sphinx with PHP. Error with the "search" : "Search error: ."在 PHP 中使用 Sphinx。 “搜索”错误:“搜索错误:。”
【发布时间】:2013-03-09 05:03:12
【问题描述】:

我正在使用 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 索引器新闻
Sphinx 2.0.6-release (r3473) 版权所有 (c) 2001-2012,Andrew Aksyonoff 版权所有 (c) 2008-2012,Sphinx 科技公司 (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 }

谢谢。

面料

【问题讨论】:

    标签: php sphinx


    【解决方案1】:

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

    search -i news --noinfo navigateur
    

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

    sql_query_info      = SELECT titre FROM news WHERE id=$id
    

    如果你不需要它。

    【讨论】:

      【解决方案2】:

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

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

      至于您的 API 问题,您是否正在运行 searchd 守护程序?

      您应该使用 getLastError 和 getLastWarning 来调查原因,而不是仅仅说它返回“无”...

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-04-15
        • 1970-01-01
        • 2015-06-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-01-15
        相关资源
        最近更新 更多