Sphinx-关于sphinx的php api,没有返回ID
请教一下,配置完成后,通过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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
将配置中的
sql_attr_uint = id
去掉,这样sphinx会认为id是属性而非主键
id :ID属性,必须提供,在SQL语句中字段名称不限
对应SQL查询的第一个字段,系统自动使用,内部属性名为@id,不需要也不能在配置中设定
使用SetFilter()过滤,或者使用SetIDRange()过滤;
SphinxSE之中,使用filter或者minid, maxid过滤