加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

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)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读