Sphinx-关于sphinx的php api,没有返回ID

发布于 2016-10-25 04:49:33 字数 2225 浏览 1173 评论 1

请教一下,配置完成后,通过PHP API来获取数据,返回的结果现实无错误,而且也匹配到了对应的文档,但是却没有返回对应的id

配置文档,代码,输出结果如下

source src1
{
type = mysql
sql_host = localhost
sql_user = root
sql_pass = 123456
sql_db = test
sql_port = 3306
sql_query_pre = SET NAMES utf8
sql_query = SELECT id, name, number, note, title FROM message
sql_attr_uint = id
sql_attr_str2ordinal = name
sql_query_info_pre = set names utf8
sql_query_info = SELECT * FROM message WHERE id=$id
sql_sock = /tmp/mysql.sock
}

index test1
{
source = src1
path = /usr/local/coreseek/var/data/test1
docinfo = extern
charset_dictpath = /usr/local/mmseg3/data/
charset_type =zh_cn.utf-8
ngram_len = 0
min_infix_len = 2
}

indexer
{
mem_limit = 32M
}

searchd
{
port = 9312
log = /usr/local/coreseek/var/log/searchd.log
query_log = /usr/local/coreseek/var/log/query.log
read_timeout = 5
max_children = 30
pid_file = /usr/local/coreseek/var/log/searchd.pid
max_matches = 1000
seamless_rotate = 1
preopen_indexes = 0
unlink_old = 1
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

虐人心 2017-09-17 03:45:53

将配置中的

 sql_attr_uint = id

去掉,这样sphinx会认为id是属性而非主键

Coreseek索引配置:

 id         :ID属性,必须提供,在SQL语句中字段名称不限
          对应SQL查询的第一个字段,系统自动使用,内部属性名为@id,不需要也不能在配置中设定
          使用SetFilter()过滤,或者使用SetIDRange()过滤;
          SphinxSE之中,使用filter或者minid, maxid过滤

配置的时候最好先看看这里的介绍-数据源配置:mysql数据源

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文