Sphinx是一个基于SQL的全文检索引擎,可以结合MySQL,PostgreSQL做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应 用程序更容易实现专业化的全文检索。Sphinx特别为一些脚本语言设计搜索API接口,如PHP,Python,Perl,Ruby等,同时为 MySQL也设计了一个存储引擎插件。
Sphinx 单一索引最大可包含1亿条记录,在1千万条记录情况下的查询速度为0.x秒(毫秒级)。Sphinx创建索引的速度为:创建100万条记录的索引只需 3~4分钟,创建1000万条记录的索引可以在50分钟内完成,而只包含最新10万条记录的增量索引,重建一次只需几十秒。
下面来介绍sphinx的安装。
1、请确认安装了mysql服务器,和常用开发包。
2、确认mysql的数据结构。数据表使用表分区存储,使用phpmyadmin来创建。
画红色箭头的地方需要注意,id为主键自增,表分区存储使用20个差不多就够了。
3、安装sphinx。(老夫使用的rpm包啊,无解),下载链接http://pan.baidu.com/share/link?shareid=2554931592&uk=3959484613。
4、rpm安装完成后配置sphinx。sphinx的配置文件位于/etc/sphinx/sphinx.conf
配置文件结构非常清晰,source数据库源,index索引,indexer索引控制,searched服务控制。我把我自己写好的贴上来自行改动。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
#
# Minimal Sphinx configuration sample (clean, simple, functional)
#
source src1
{
type = mysql
sql_host = localhost//数据库地址
sql_user = root/数据库账号
sql_pass = cao//数据库密码
sql_db = database//数据库
sql_port = 3306 # optional, default is 3306//数据库端口
sql_query = SELECT id,username,password,email,md5password FROM alltables//select所有你想要查询的字段从你的表里
sql_query_info = SELECT * FROM alltables WHERE id=$id//从你的表里查询出id
}
index test1
{
source = src1//数据源这里指上门
path = /var/lib/sphinx/test1//简历索引后文档存放位置
docinfo = extern
charset_type = utf-8//数据编码
}
indexer
{
mem_limit = 256M//索引器最大使用内存
}
searchd//这里基本不用动
{
listen = 9312
listen = 9306:mysql41
log = /var/log/sphinx/searchd.log
query_log = /var/log/sphinx/query.log
read_timeout = 5
max_children = 30
pid_file = /var/run/sphinx/searchd.pid
max_matches = 1000
seamless_rotate = 1
preopen_indexes = 1
unlink_old = 1
workers = threads # for RT to work
binlog_path = /var/lib/sphinx/
}
|
5、到这里基本配置就可以了。使用命令为数据库创建索引
1
|
indexer -c /etc/sphinx/sphinx.conf –all
|
6、使用search命令测试、例如
1
|
search durkworf
|
效果图
91ri.org注:这很适合上亿的数据检索,但什么数据会有上亿呢?你懂。。
link:http://bbs.blackbap.org/forum.php?mod=viewthread&tid=4304
本文由网络安全攻防研究室(www.91ri.org)信息安全小组收集整理,转载请注明出处。
Copyright © hongdaChiaki. All Rights Reserved. 鸿大千秋 版权所有
联系方式:
地址: 深圳市南山区招商街道沿山社区沿山路43号创业壹号大楼A栋107室
邮箱:service@hongdaqianqiu.com
备案号:粤ICP备15078875号