sphinx站内搜索

基于SQL的全文检索引擎

mysql 索引
# 加索引
mysql> alter table <table_name> add index <index_name>(<field_name>);

# 加主关键字的索引
mysql> alter table <table_name> add primary key (<field_name>);

应用场景

1、站内搜索
2、后台搜索

PHP -> MySQL
PHP -> Sphinx <-> MySQL

优势

mysql直接查询较慢
中文分词
速度快
-高速建立索引 10M/s
-高性能搜索 2-4G 0.1s
-海量数据

安装

http://sphinxsearch.com/

$ whereis sphinxsearsh

两个重要的工具
indexer:用于创建索引
searched:用于后台

配置

/etc/sphinxsearch/sphinx.conf

工作原理
indexer —> index data <— searched <— service/web

生成索引数据
/usr/bin/indexer --config /etc/sphinxsearch/sphinx.conf --all

索引文件存储的数据种类
.spa 存储文档属性
.spd 存储每个词ID可匹配的文档ID列表
.sph 存储索引头信息
.spi 存储词列表
.spm 存储MVA数据
.spp 存储每个词的命中列表

查看进程
ps -axu |grep searched

查看sphinx数据
mysql -h0 -p9306

select * from <index_name> limit 10;