Sphinx搜索索引 [英] Sphinx Search Index

查看:0
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆