Solr[04.检索Mysql字段]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Solr[04.检索Mysql字段]相关的知识,希望对你有一定的参考价值。

mysql配置

  • 设计表bless

技术分享图片

  • 导入测试数据

技术分享图片

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

  • 全量导入数据

配置好中文分词,如果不执行一遍全量导入,中文查询会失败

技术分享图片

  • 查询数据

技术分享图片

以上是关于Solr[04.检索Mysql字段]的主要内容,如果未能解决你的问题,请参考以下文章

Solr 高亮是不是还可以指示返回的片段在原始字段中的位置或偏移量?

solr全文检索,建立的文件索引,检索不出正确结果

Solr Highlighting:如何为同一字段请求多个片段长度?

检索 Solr 查询中的特定字段?

solr 学习片段

检索Solr查询中的特定字段?