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中可以手动删除数据

浙公网安备 33010602011771号