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)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。 如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
