sphinx with mysql_抛弃mysql模糊查询,使用sphinx做专业索引

Sphinx是一个高效全文搜索引擎,能与MySQL等数据库结合,提供比数据库本身更强大的搜索功能。本文介绍了如何在CentOS 6.5环境下安装Sphinx,并通过配置文件设置数据源、索引和搜索服务,最后演示了如何创建索引、测试搜索效果及进行增量索引更新,以优化数据库模糊查询的性能。
摘要由CSDN通过智能技术生成

Sphinx是一个基于SQL的全文检索引擎,可以结合MySQL,PostgreSQL做全文搜索,提供比数据库本身更专业的搜索功能特别为MySQL也设计了一个存储引擎插件,从此抛弃模糊查询吧。

Sphinx 单一索引最大可包含1亿条记录,在1千万条记录情况下的查询速度为0.x秒(毫秒级)。Sphinx创建100万条记录的索引只要 3、4分钟,创建1000万条记录的索引可以在50分钟内完成,而重建一次只包含最新10万条记录的增量索引只需几十秒。

一、安装

环境:centos6.5

yum install sphinx -y

默认配置路径 /etc/sphinx/ ,在该路径下,有配置文件sphinx.conf,看看我的配置

# 数据源,这里配置的是mysql

source src1

{

type = mysql

sql_host = localhost

sql_user = root

sql_pass =

sql_db = beego_blog

sql_port = 3306 # optional, default is 3306

# 创建索引时候,从数据库查询数据的SQL

sql_query = \

SELECT id, userid, UNIX_TIMESTAMP(posttime) AS posttime, title, content, tags \

FROM tb_post

sql_attr_uint = userid

sql_attr_timestamp = posttime

sql_query_info = SELECT * FROM tb_post WHERE id=$id

}

# 索引1

index test1

{

# 指定数据源

source = src1

# 索引文件路径

path = /var/lib/sphinx/test1

# 储文档信息的方式 extern

docinfo = extern

charset_type = sbcs

}

# 索引2

index testrt

{

type = rt

rt_mem_limit = 32M

path = /var/lib/sphinx/testrt

charset_type = utf-8

rt_field = title

rt_field = content

rt_attr_uint = userid

}

indexer

{

mem_limit = 32M

}

searchd

{

listen = 0.0.0.0:9312 # 索引对外提供服务的地址

listen = 9306:mysql41

log =

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值