惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

J
Java Code Geeks
腾讯CDC
Jina AI
Jina AI
博客园 - 司徒正美
博客园 - 三生石上(FineUI控件)
Apple Machine Learning Research
Apple Machine Learning Research
GbyAI
GbyAI
WordPress大学
WordPress大学
Hugging Face - Blog
Hugging Face - Blog
T
The Blog of Author Tim Ferriss
小众软件
小众软件
M
MIT News - Artificial intelligence
MyScale Blog
MyScale Blog
D
Docker
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Google DeepMind News
Google DeepMind News
月光博客
月光博客
L
LangChain Blog
F
Fortinet All Blogs
Microsoft Azure Blog
Microsoft Azure Blog
博客园 - Franky
C
Check Point Blog
U
Unit 42
人人都是产品经理
人人都是产品经理

祈雨的笔记

安全多方计算MPC spark原理解析 kueue执行源码分析 spark on k8s执行源码分析 spark-operator源码解析 系统压测遇到的缓存击穿问题 我的世界PC与安卓联机 蚂蚁金服流量投放平台的AIG改造 G1大对象致Old区占用率高 日志打印导致接口响应率下跌分析 Groovy加载类导致OOM分析 ERROR日志打印导致CPU满载 记OceanBase死锁超时 应用发版期间服务响应超时 Ark Serverless初探 系统优化复盘一二三 The user specified as a definer does not exist Kong网关初探 API网关选型调研 CPU火焰图常用工具 配置中心选型调研 root操作Nginx导致用户组错误 基于Proxifier使用代理 FastJSON字段智能匹配踩坑 Nacos初探 记一次Nginx服务器CPU满荷载故障 基于券系统分库分表的思考 limit不参与SQL成本计算致索引失效 Linux常用性能监控命令 golang低版本http2偶现400
solr(3)索引mysql数据
祈雨的笔记 · 2017-10-01 · via 祈雨的笔记

1、修改配置

将数据库驱动jar和solr/dist路径下的solr-dataimporthandler-x.x.x.jar复制到solr-x.x.x/server/solr-webapp/webapp/WEB-INF/lib下
在solr/server/solr/核心/conf路径下添加文件data-config.xml,并添加以下内容(示范如下)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<dataConfig>

<dataSource driver="com.mysql.jdbc.Driver" url="jdbc:mysql://192.168.100.25:6660/tbcms" user="root" password="123456"/>
<document>

<entity name="T_TBPackage" pk="TBPackageID" query="select * from T_TBPackage"
<!-- 每一个field映射着数据库中列与文档中的域,column是数据库列,name是solr的域(必须是在managed-schema文件中配置过的域才行) -->
<field column="TBPackageID" name="id"/>
<field column="TBPackageName" name="TBPackageName"/>
<field column="PackageTypeID" name="PackageTypeID"/>
<field column="PINCount" name="PINCount"/>
<field column="PINCenterDistance" name="PINCenterDistance"/>
<field column="ElementBodyWidth" name="ElementBodyWidth"/>
<field column="ElementPlasticBodyLength" name="ElementPlasticBodyLength"/>
<field column="Height" name="Height"/>
<field column="ExposedPad" name="ExposedPad"/>
</entity>
</document>
</dataConfig>

修改solrconfig.xml,添加以下内容

1
2
3
4
5
<requestHandler name="/dataimport" class="solr.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>

修改managed-schema,添加mysql中需要存入solr的字段(示范如下)

1
2
3
4
5
6
7
<field name="TBPackageName" type="string" indexed="true" stored="true"/>
<field name="PackageTypeID" type="string" indexed="true" stored="true"/>
<field name="PINCount" type="string" indexed="true" stored="true"/>
<field name="PINCenterDistance" type="string" indexed="true" stored="true"/>
<field name="ElementBodyWidth" type="string" indexed="true" stored="true"/>
<field name="ElementPlasticBodyLength" type="string" indexed="true" stored="true"/>
<field name="Height" type="string" indexed="true" stored="true"/>

重启solr

2、全量索引

2.1、执行全量更新

这里写图片描述

2.2、更新成功

这里写图片描述

3、增量索引

3.1、solr默认使用UTC时间,即与中国时差8小时,所以需要修改配置文件bin/solr.in.sh

1
SOLR_TIMEZONE="UTC+8"

3.2、修改mysql数据库的表结构,添加一个时间戳字段,当某行数据发生更新时该字段自动更新为修改数据的时间,为solr增量添加提供服务(范例如下)

1
last_modified timestamp not null on update current_timestamp default current_timestamp

3.3、修改solr/server/solr/核心/conf路径下添加文件data-config.xml,并添加增量SQL(示范如下)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<dataConfig>

<dataSource driver="com.mysql.jdbc.Driver" url="jdbc:mysql://192.168.100.25:6660/tbcms" user="root" password="123456"/>
<document>

<entity name="T_TBPackage" pk="TBPackageID" query="select * from T_TBPackage"
deltaQuery="select TBPackageID from T_TBPackage where last_modified > '${dih.last_index_time}'">

<field column="TBPackageID" name="id"/>
<field column="TBPackageName" name="TBPackageName"/>
<field column="PackageTypeID" name="PackageTypeID"/>
<field column="PINCount" name="PINCount"/>
<field column="PINCenterDistance" name="PINCenterDistance"/>
<field column="ElementBodyWidth" name="ElementBodyWidth"/>
<field column="ElementPlasticBodyLength" name="ElementPlasticBodyLength"/>
<field column="Height" name="Height"/>
<field column="ExposedPad" name="ExposedPad"/>
</entity>
</document>
</dataConfig>

3.4、重启solr
3.5、增量更新,此处clean选项必须取消勾选。否则当增量更新成功后,会把没有增量更新的数据删除!!!
这里写图片描述
3.6、更新成功
这里写图片描述
注: 存放上一次更新时间的配置文件为solr/server/solr/核心/conf/dataimport.properties