Sphinx搜索索引 [英] Sphinx Search Index
本文介绍了Sphinx搜索索引的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的Sphinx搜索索引有问题。我一直从中得到空的结果集。
source mrc
{
type = mysql
sql_host = localhost
sql_user = root
sql_pass =
sql_db = test_db
sql_port = 3306
mysql_connect_flags = 32
sql_query_pre = SET NAMES latin1
sql_query_pre = SET SESSION query_cache_type=OFF
sql_query_pre = REPLACE INTO sphinx.indexer (idx,server,version,lastrun_at) SELECT 'mrc','localhost','2.0.4',UNIX_TIMESTAMP(NOW()) FROM DUAL
sql_query_post = UPDATE sphinx.indexer SET fetched_by = UNIX_TIMESTAMP(NOW()) WHERE idx = 'mrc' AND server = 'localhost' AND version = '2.0.4'
sql_query_post_index = UPDATE sphinx.indexer SET indexed_by = UNIX_TIMESTAMP(NOW()) WHERE idx = 'mrc' AND server = 'localhost' AND version = '2.0.4'
sql_attr_uint = mrc_id
sql_attr_uint = mrc_parent
sql_attr_float = mrc_latitude
sql_attr_float = mrc_longitude
sql_query =
SELECT mrc_id AS doc_id,
mrc_id,
mrc_parent,
RADIANS(mrc_latitude) as mrc_latitude,
RADIANS(mrc_longitude) as mrc_longitude
FROM mrc_table
WHERE mrc_parent > 0
sql_query_info = SELECT * FROM mrc_table WHERE mrc_id = $id
}
index mrc
{
charset_type = sbcs
docinfo = extern
mlock = 1
morphology = none
source = mrc
path = /usr/local/var/data/mrc
}
索引器给我-
indexing index 'member_region_cities'...
collected 78312 docs, 0.0 MB
total 78312 docs, 0 bytes
total 0.656 sec, 0 bytes/sec, 119354.57 docs/sec
如果我通过MySQL连接到搜索并执行
SELECT * FROM mrc_table;
它返回空。
本地主机表中肯定有数据,您可以在索引器显示‘已收集78312’的位置看到它
那么,为什么Sphinx不将数据放入搜索中?
干杯
推荐答案
我发现了问题,我没有选择任何域。我已将我的所有列配置为属性。
我通过删除此行-SQL_attr_uint=mrc_id
修复了此问题为便于将来参考,如果您需要不带字段的索引,您可以设置一个伪字段,例如将‘a’作为伪字段添加到SELECT查询中。
这篇关于Sphinx搜索索引的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文