博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
coreseek增量索引
阅读量:6280 次
发布时间:2019-06-22

本文共 3499 字,大约阅读时间需要 11 分钟。

1、在多数情况下,因为Coreseek索引速度高达10MB/s,所以只需要创建一个索引源即可满足需求,但是在数据量随时激增的大型应用中(如SNS、评论系统等),单一的索引源将会给indexer造成极大的性能负荷

2、增量索引能够在一定程度上提升Coreseek索引性能,降低CPU使用率。增量索引的原理非常简单,即使用“主索引+增量索引”的方式创建索引。其中主索引存放放50%以上的数据量,增量索引表通常只需要存放较近插入的数据即可(增量索引表允许有多个索引表组成)。增量索引是通过主从素银继承实现的,继承的格式为“增量索引:父索引”,如以下代码所示:

#主索引source main {   }#生成索引index main{    }# 增量索引source delta:main{   }#deltaindex delta:main{} #全局index定义 indexer {   mem_limit = 128M } #searchd服务定义 searchd {}

  通过继承,增量索引配置就拥有了主索引全部配置信息。淡然也可以重新设置增量索引的配置信息,这些配置信息将覆盖主索引配置项。如以下代码所示:

#源定义source mysql{    type                    = mysql    sql_host                = localhost    sql_user                = test    sql_pass                = root    sql_db                    = kp_account    sql_port                = 3306    sql_query_pre            = SET NAMES utf8    sql_query                = SELECT goods_id, goods_id as gid, goods_name, add_time FROM fc_goods where goods_id < 10                                                              #isql_query第一列id需为整数                                                              #title、content作为字符串/文本字段,被全文索引    sql_attr_uint            = gid           #从SQL读取到的值必须为整数    sql_attr_timestamp        = add_time #从SQL读取到的值必须为整数,作为时间属性    sql_query_info_pre      = SET NAMES utf8                                        #命令行查询时,设置正确的字符集    sql_query_info            = SELECT * FROM documents WHERE id=$id #命令行查询时,从数据库读取原始数据信息}#index定义index mysql{    source            = mysql             #对应的source名称    path            = /Data/apps/coreseek/var/data/mysql #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...    docinfo            = extern    mlock            = 0    morphology        = none    min_word_len        = 1    html_strip                = 0    #中文分词配置,详情请查看:http://www.coreseek.cn/products-install/coreseek_mmseg/    #charset_dictpath = /usr/local/mmseg3/etc/ #BSD、Linux环境下设置,/符号结尾    charset_dictpath = /Data/apps/mmseg3/etc/    #charset_dictpath = etc/                             #Windows环境下设置,/符号结尾,最好给出绝对路径,例如:C:/usr/local/coreseek/etc/...    charset_type        = zh_cn.utf-8}# 增量索引source mysql1:mysql{    sql_query_pre = SET NAMES utf8    sql_query = SELECT goods_id, goods_id as gid, goods_name, add_time FROM fc_goods where goods_id >= 10}#mysql1定义index mysql1:mysql {    source = mysql1    path = /Data/apps/coreseek/var/data/mysql1    charset_dictpath = /Data/apps/mmseg3/etc/    charset_type = zh_cn.utf-8}#全局index定义indexer{    mem_limit            = 128M}#searchd服务定义searchd{    listen                  =   9312    read_timeout        = 5    max_children        = 30    max_matches            = 1000    seamless_rotate        = 0    preopen_indexes        = 0    unlink_old            = 1    pid_file = /Data/apps/coreseek/var/log/searchd_mysql.pid  #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...    log = /Data/apps/coreseek/var/log/searchd_mysql.log        #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...    query_log = /Data/apps/coreseek/var/log/query_mysql.log #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...}

  上述配置文件定义了一个mysql主索引和一个mysql1增量索引,为了方便演示,这里讲主索引数据范围限制为id<10的数据;而在mysql1增量索引中限制id>=10的数据,这样就实现了主从索引(即增量索引)。在合并主从索引前,首先需要生成增量索引,命令如下:

[root@localhost ~]# /Data/apps/coreseek/bin/indexer -c /Data/apps/coreseek/etc/csft_mysql.conf mysql1 --rotate // 生成增量索引

  增量索引生成之后

[root@localhost ~]# /Data/apps/coreseek/bin/indexer -c /Data/apps/coreseek/etc/csft_mysql.conf --merge mysql mysql1 --rotate  // 合并主从索引

  这样就完成了增量索引的配置。

,只需要使用merge选项讲增量索引表合并到主索引表即可。

 

转载于:https://www.cnblogs.com/timothy-lai/p/6145928.html

你可能感兴趣的文章
《算法基础:打开算法之门》一3.4 归并排序
查看>>
高德开放平台开放源代码 鼓励开发者创新
查看>>
《高并发Oracle数据库系统的架构与设计》一2.5 索引维护
查看>>
《Exchange Server 2010 SP1/SP2管理实践》——2.4 部署外部网络环境
查看>>
Firefox 是 Pwn2own 2014 上攻陷次数最多的浏览器
查看>>
阿里感悟(十八)- 应届生Review
查看>>
《计算广告:互联网商业变现的市场与技术》一第一部分 在线广告市场与背景...
查看>>
话说模式匹配(5) for表达式中的模式匹配
查看>>
《锋利的SQL(第2版)》——1.7 常用函数
查看>>
《Arduino家居安全系统构建实战》——1.5 介绍用于机器学习的F
查看>>
jquery中hover()的用法。简单粗暴
查看>>
线程管理(六)等待线程的终结
查看>>
spring boot集成mongodb最简单版
查看>>
DELL EqualLogic PS存储数据恢复全过程整理
查看>>
《Node.js入门经典》一2.3 安装模块
查看>>
《Java 开发从入门到精通》—— 2.5 技术解惑
查看>>
Linux 性能诊断 perf使用指南
查看>>
实操分享:看看小白我如何第一次搭建阿里云windows服务器(Tomcat+Mysql)
查看>>
Sphinx 配置文件说明
查看>>
数据结构实践——顺序表应用
查看>>