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
-海量数据
安装
$ 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;