mysql新增记录solr自动更新索引

参考教程 靠谱教程 超靠谱教程

1.爽哥提出问题:遇到单条记录插入,能否自动新增索引。

  • 因为数据从数据库到solr 如果新增数据 又重新建立一遍索引。会很耗时。 结合[帆软智能客服文章]
  • 数据流动(->数据库->solr)肯定不变,

2.索引是啥->索引是一种数据结构(二叉树。。。)

  • 索引的关键目的是为了加快检索速度而建立。
  • 索引包含单个或多个字段的值(对单个字段的值进行排序,对多个字段的值进行排序)
  • eg:对于表中的每一行数据,索引中包含了last_name、first_name和dob列的值。
  • 索引对多个值进行排序的依据是定义索引时列的顺序。

3.索引提高查询速度的原理 参考教程

  • 索引就是通过事先排好序,从而在查找时可以应用二分查找等高效率的算法。
  • 一般的顺序查找,复杂度为O(n),而二分查找复杂度为O(log2n)。当n很大时,二者的效率相差及其悬殊。
    1
    2
    举个例子:
    表中有一百万条数据,需要在其中寻找一条特定id的数据。如果顺序查找,平均需要查找50万条数据。而用二分法,至多不超过20次就能找到。二者的效率差了2.5万倍!

4.solr如何对数据库建立索引 参考教程

  • 根据字段创建索引,根据字段的值进行排序
  • 通过配置field的index=”ture”字段来建立需要建立索引的字段。

5.solr目前的情况以及要达到的目的

  • 目前情况:solr对数据库的数据没有实现自动导入/没有实现对数据库定时、实时增量索引 - 修改、删除和新增索引
  • 目的:同步数据库 新增一条记录 eg:id=89这条记录 后 mysql自动改变索引平衡树的节点。 solr的索引结构也随之改变。

6.solr实现对数据库定时、实时增量索引 - 修改、删除和新增索引 参考教程

  • 设置solr自带的scheduler 别忘啦到jar
    更改tomcat\webapps\solr\WEB-INF下的web.xml文件,新增监听如下:
1
2
3
4
5
6
7
8
9
10
<listener>
<listener-class>
org.apache.solr.handler.dataimport.scheduler.ApplicationListener
</listener-class>
</listener>
---------------------
作者:white_ice
来源:CSDN
原文:https://blog.csdn.net/white_ice/article/details/79026546
版权声明:本文为博主原创文章,转载请附上博文链接!

7, solr 定时增量索引的配置 参考教程

8.亿信智能知识库查询原理

  • 通过