Solr之搭建Solr6.0服务并从Mysql上导入数据

https://blog.csdn.net/linzhiqiang0316/article/details/51464461

目前百度上面关于solr对MYSQL的集成一般都是4.0左右。但是前solr的版本已经到了6.0,很多配置都和一起不一样了。所以我今天就和大家聊聊solr6.0如何进行MYSQL数据库的配置。(配置的前提是已经搭建好solr服务器了,如果有什么不清楚的可以参考这篇博客:点击打开链接)。

步骤1:

  在webapps中solrhome下新建一个文件夹名字叫做mynode(名字不固定,可以随便取,但是这个名字在后面的配置中会有所关联。)然后在mynode文件下新建一个名字叫做conf的文件夹(这个文件名字最后不要改。)然后把官网下下来的solr项目中solr-6.0.0\server\solr\configsets\data_driven_schema_configs\conf下的所有东西复制到conf中去。(注意不要复制错!)最后把solr-6.0\solr-6.0.0\example\example-DIH\solr\db\conf下的admin-extra.html, admin-extra.menu-bottom.html ,admin-extra.menu-top.html三个文件也复制到conf中去。

步骤2:

  把mysql所需的jar包和solr-6.0\solr-6.0.0\dist下的solr-dataimporthandler-6.0.0.jar和solr-dataimporthandler-extras-6.0.0.jar都复制到项目WEB-INF\lib下。然后在solrconfig.xml文件中加入<lib dir="D:/编程工具/tomcat/apache-tomcat-8.0.32-windows-x64/apache-tomcat-8.0.32/webapps/solr/WEB-INF/lib/" regex=".*\.jar" />(就是把WEB-INF\lib里面的jar包配置到项目中,我这里用的是绝对地址。这段代码大约在solrconfig.xml的70多行处,前面有一堆类似的代码。

步骤3:

  在MYSQL中新建一张表。我这里用的是Navicat管理工具进行创建的。这里的表名是goods。字段如下图所示:


步骤4:

  在solrconfig.xml的  <requestHandler name="/select" class="solr.SearchHandler">之上添加

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

然后在conf下新建data-config.xml文件。里面内容如下:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <dataConfig>
  3. <dataSource name="source1" type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/solrdata" user="root" password="220316" batchSize="-1" />
  4.    <document>
  5. <entity name="goods" pk="id" dataSource="source1"
  6. query="select * from goods"
  7. deltaImportQuery="select * from goods where id='${dih.delta.id}'"
  8. deltaQuery="select id from goods where updateTime> '${dataimporter.last_index_time}'">
  9.  
  10.     <field column="id" name="id"/>
  11.     <field column="name" name="name"/>
  12. <field column="number" name="number"/>
  13. <field column="updateTime" name="updateTime"/>
  14.     </entity>
  15.    </document>
  16. </dataConfig>

 

说明:

  dataSource是数据库数据源。Entity就是一张表对应的实体,pk是主键,query是查询语句。Field对应一个字段,column是数据库里的column名,后面的name属性对应着Solr的Filed的名字。其中solrdata是数据库名,goods是表名。

  其中deltaQuery是增量索引,原理是从数据库中根据deltaQuery指定的SQL语句查询出所有需要增量导入的数据的ID号。然后根据deltaImportQuery指定的SQL语句返回所有这些ID的数据,即为这次增量导入所要处理的数据。核心思想是:通过内置变量“${dih.delta.id}”和 “${dataimporter.last_index_time}”来记录本次要索引的id和最近一次索引的时间。

  最后在conf文件下的managed-schema配置field信息:

 

  1. <field name="id" type="int" indexed="true" stored="true" required="true" multiValued="false" />
  2. <field name="name" type="string" indexed="true" stored="false"/>
  3. <field name="number" type="int" indexed="true" stored="false"/>
  4. <field name="updateTime" type="date" indexed="true" stored="true" />
  5. <field name="_version_" type="long" indexed="true" stored="false"/>
  6. <field name="_root_" type="string" indexed="true" stored="false" docValues="false" />
  7. <field name="_text_" type="text_general" indexed="true" stored="false" multiValued="true"/>

其中id,name,number,updateTime是上面提到的数据库字段。下面三个field是系统本身的不能删除,否则会运行错误。

步骤5:

启动tomcat,并在URL中输入http://127.0.0.1:8080/solr/index.html路径。选择Core admin 输入如下设置:

设置好之后,点击Add Core按钮,进行设置,设置成功后,再core Selector选择刚刚添加的core。


  选择刚刚添加的goods实体进行索引操作:我们这儿可以选择full-import或者delta-import(增量索引),选择增量索引需要把clean的勾给去掉,不然会清除之前的,增量的索引的初衷是对新增或者修改的记录重新索引,会追加到原有的索引文件当中。当我们选择full-import的时候,最好就是把原有的索引文件给清空重新索引。

索引成功如下如所示:


使用query进行测试,输入sa查出了sa


数据库中的数据如下图所示:


这就成功的配置完了MYSQL数据库了,如果配置过程有啥问题可以参考我这个已经配置成功代码:点击打开链接

转载于:https://www.cnblogs.com/davidwang456/articles/9497685.html

基于STM32F407,使用DFS算法实现最短迷宫路径检索,分为三种模式:1.DEBUG模式,2. 训练模式,3. 主程序模式 ,DEBUG模式主要分析bug,测量必要数据,训练模式用于DFS算法训练最短路径,并将最短路径以链表形式存储Flash, 主程序模式从Flash中….zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值