sphinx 增量索引实现实例
发布时间:2020-05-25 07:54:11 所属栏目:PHP 来源:互联网
导读:sphinx 增量索引实现实例
下面是脚本之家 jb51.cc 通过网络收集整理的代码片段。 脚本之家小编现在分享给大家,也给大家做个参考。 创建主索引表 CREATE TABLE `sph_test1` ( `id` int(10) unsigned NOT NULL,`weight` int(11) NOT NULL,`query` varchar(3072) CHARACTER SET latin1 NOT NULL,`group_id` int(11) DEFAULT NULL,KEY `query` (`query`) ) ENGINE=SPHINX DEFAULT CHARSET=utf8 CONNECTION='sphinx://127.0.0.1:9312/test1' 创建索引计数表 CREATE TABLE `sph_counter` ( `id` int(11) NOT NULL,`max_doc_id` int(11) NOT NULL,PRIMARY KEY (`id`) ) 创建增量索引表 CREATE TABLE `sph_delta_test1` ( `id` int(10) unsigned NOT NULL,`query` varchar(3072) NOT NULL,KEY `query` (`query`(1024)) ) ENGINE=SPHINX DEFAULT CHARSET=utf8 CONNECTION='sphinx://127.0.0.1:9312/delta_test1' source src1{ type = mysql sql_host = localhost sql_user = yourusername sql_pass = yourpassword sql_db = test //你所用的数据库 sql_port = 3306 //所用端口,默认是3306 sql_query_pre = SET NAMES utf8 sql_query_pre = sql_query_pre = REPLACE INTO sph_counter SELECT 1,MAX(id) FROM documents sql_query = SELECT id,group_id,UNIX_TIMESTAMP(date_added) AS date_added,title, content FROM documents WHERE id<=( SELECT max_doc_id FROM sph_counter WHERE counter_id=1 ) } // 注意:delta_src 中的sql_query_pre的个数需和main_src 对应,否则可能搜索不出相应结果 source delta_src1: src1{ sql_ranged_throttle = 100 sql_query_pre = SET NAMES utf8 sql_query_pre = SET SESSION query_cache_type=OFF sql_query = SELECT id,content FROM documents WHERE id>( SELECT max_doc_id FROM sph_counter WHERE counter_id=1 ) } index test1 //主索引{ source = src1 path = /usr/local/sphinx/var/data/test1 charset_type = utf-8 #这个是支持中文必须要设置的 chinese_dictionary =/usr/local/sphinx/etc/xdict #..........其它可以默认 } index delta_test1: src1 //增量索引{ source = delta_src1 path = /usr/local/sphinx/var/data/delta_src1 } 3、定时任务生成索引(--rotate 参数可以不重启服务索引就能生效) 以上是脚本之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。 如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |