Solr 基础实践--检索Mysql字段篇
2018-08-10 本文已影响1人
youins
1. Mysql配置
- 设计表bless
- 导入测试数据
2. Solr基本配置
-
将mysql-connector-java-5.1.6-bin.jar、solr-dataimporthandler-7.1.0.jar、solr-dataimporthandler-extras-7.1.0.jar到/usr/local/apache-tomcat-8.5.12/webapps/solr/WEB-INF/lib/,用于连接mysql数据库以及数据导入
- 在/usr/local/apache-tomcat-8.5.12/solrhome中创建mysql_core目录
- 复制/opt/solr-7.1.0/example/example-DIH/solr/db下的所有文件到/usr/local/apache-tomcat-8.5.12/solrhome/mysql_core目录
- 编辑/usr/local/apache-tomcat-8.5.12/solrhome/mysql_core/core.properties文件,定义core的名称
- 复制/opt/solr-7.1.0/dist以及contrib目录到/usr/local/apache-tomcat-8.5.12/solrhome下面
- 修改/usr/local/apache-tomcat-8.5.12/solrhome/mysql_core/conf/solrconfig.xml
修改jar依赖包的路径
修改dataimport的依赖实现类为org.apache.solr.handler.dataimport.DataImportHandler
- 修改/usr/local/apache-tomcat-8.5.12/solrhome/mysql_core/conf/db-data-config.xml,配置相关数据源以及对应的导入表
- 修改/usr/local/apache-tomcat-8.5.12/solrhome/mysql_core/conf/managed-schema,添加在db-data-config.xml中定义的字段
由于db-data-config.xml中bless_id对应的name为id,而id在managed-schema文件已经存在,故不需要重新定义
- 在/usr/local/apache-tomcat-8.5.12/solrhome/mysql_core/conf目录创建dataimport.properties文件,记录索引更新日期
#Tue Dec 26 06:48:43 UTC 2017
interval=1
port=8080
server=localhost
bless.last_index_time=2017-12-26 06\:48\:43
params=/dataimport?command\=delta-import&clean\=false&commit\=true
webapp=solr
reBuildIndexInterval=2
syncEnabled=1
last_index_time=2017-12-26 06\:48\:43
reBuildIndexBeginTime=03\:10\:00
reBuildIndexParams=/dataimport?command\=full-import&clean\=true&commit\=true
syncCores=mysql_core
- 重启Tomcat
全量导入
- 导入数据
- 查询数据
我们执行一次导入操作,会将mysql_core这个core实例更新索引的日期记录下来,用来记录的就是dataimport.properties文件,下图日期已经发生变化
中文分词
借鉴配置IKAnalyzer的中文分词章节的配置规则
- 修改/usr/local/apache-tomcat-8.5.12/solrhome/mysql_core/conf/managed-schema,添加ik分词的fieldType
- 修改/usr/local/apache-tomcat-8.5.12/solrhome/mysql_core/conf/managed-schema中新增加的字段bless_title、bless_content的type为text_ik
-
重启Tomcat
-
全量导入数据
配置好中文分词,如果不执行一遍全量导入,中文查询会失败
- 查询数据