sphinx

1、sphinx原理

① 创建数据源(数据表)

② 配置sphinx对数据源进行扫描,利用分词技术(sphxin将会对数据表中的内容进行分词,并存储每个分词的id值)

③ 连接sphinx服务器,在使用时对词汇进行查询,sphinx将会返回该词汇的id,通过id再对数据库进行查询,获取最终的查询结果

2、sphinx的使用

①   在数据库中增加源数据(table)[创建数据表添加数据]

在sphinx.conf中添加数据源           source movie{ }

②   在.conf中添加索引index  index_movie{}

③   在searchd服务定义,修改路径

④   对数据源中的数据进行扫描生成索引

bin> indexer –c d:/wamp/sphinx/sphinx.conf  movie

 

在添加索引以后再进行服务启动

安装服务:searchd –help;

searchd –c d:/wamp/sphinx/sphinx.conf --install/--delete

 

3、  索引增量原理

索引增量:在已经创建有增量索引的文件下,增加新的记录,那么就要对原来的主索引文件,添加新增的索引文件

步骤:

①   在主表movie的数据库中添加一张新的数据表son_table保存主表新增记录后最大的id值

 

②   在sphinx的source movie配置中添加

sql_query_post = update son_table set id = (select max(id)) from movie)

即:创建完成movie主索引后将id值保存到son_table中

创建主索引:

bin>indexer –c d:/wamp/sphinx/sphinx.conf  movie      -- 创建主索引

 

③   创建增量文件的sphinx的配置 源定义source movie_zl 和 增量索引定义 index index_zl

执行增量索引(sphinx对数据表的扫描)

bin> indexer –c d:/wamp/sphinx/sphinx.conf  movie_zl

 

④   将主表索引与增量索引进行关联

indexer –c 配置文件 --merge 主索引文件 增量索引文件 --rotate(强制执行)

bin> indexer –c d:/wamp/sphinx/sphinx.conf  --merge movie moviez_zl  -- rotate

4、  sphinx索引的删除

sphinx索引的删除:在var/data中可以手动删除数据

 

posted @ 2015-10-26 09:26  罗雪纷纷  阅读(308)  评论(0)    收藏  举报