solr 从数据库导入数据

这章开始记录如何从数据库导入数据到solr

准备
- solr 6.6.0版本
- sqlserver数据库
- sqlservier数据库驱动
- solr core(jobseeker)
- IKAnalyzer

开始
1. 把数据库驱动程序包复制到Tomcat 9.0\webapps\solr\WEB-INF\lib中;
2. 在solrhome根目录下面新建extract文件夹;
这里写图片描述
3. 将solr-6.6.0\solr-6.6.0\contrib\extraction\lib下所有jar包复制到Tomcat 9.0\webapps\solr\solrhome\extract中;
4. 将solr-6.6.0\solr-6.6.0\dist下的solr-cell-6.6.0.jar复制到Tomcat 9.0\webapps\solr\solrhome\extract中;
5. 复制\solr-6.6.0\solr-6.6.0\dist 下的solr-dataimporthandler-6.6.0.jarsolr-dataimporthandler-extras-6.6.0.jar这两个文件到Tomcat 9.0\webapps\solr\WEB-INF\lib中;
6. 打开Tomcat 9.0\webapps\solr\solrhome\Jobseeker\conf下的solrconfig.xml文件,找到如下代码:

  <lib dir="${solr.install.dir:../../../..}/contrib/extraction/lib" regex=".*\.jar" />
  <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-cell-\d.*\.jar" />
  <lib dir="${solr.install.dir:../../../..}/contrib/clustering/lib/" regex=".*\.jar" />
  <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-clustering-\d.*\.jar" />
  <lib dir="${solr.install.dir:../../../..}/contrib/langid/lib/" regex=".*\.jar" />
  <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-langid-\d.*\.jar" />
  <lib dir="${solr.install.dir:../../../..}/contrib/velocity/lib" regex=".*\.jar" />
  <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-velocity-\d.*\.jar" />

在后面添加<lib dir="../extract" regex=".*\.jar" />
7. 找到

<requestHandler name="/update/extract"
                  startup="lazy"
                  class="solr.extraction.ExtractingRequestHandler" >
    <lst name="defaults">
      <str name="lowernames">true</str>
      <str name="fmap.meta">ignored_</str>
      <str name="fmap.content">_text_</str> 
    </lst>
  </requestHandler>

<lst子节点添加

<str name="uprefix">attr_</str>
<str name="captureAttr">true</str>

uprefix : 如果指定了该参数,任何在schema中未定义的字段,都将以该参数指定的值作为字段名前缀。
captureAttr :(true|false)捕获属性,对Tika XHTML 元素的属性进行索引。
8. 在requestHandler后面添加

<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
    <lst name="defaults">
      <str name="config">data-config.xml</str>
    </lst>
  </requestHandler>
  1. webapps\solr\solrhome\Jobseeker\conf下面新建data-config.xml,打开加入以下代码
<?xml version="1.0" encoding="utf-8"?>
<dataConfig>
  <dataSource type="JdbcDataSource" driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"
    url="jdbc:sqlserver://ip:端口;DatabaseName=数据库名"
    user="数据库账号"
    password="数据库密码"/>
  <document name="article">
    <entity name="article" pk="Id" query="Select Id,Title,Content From Article">
      <field column="Id" name="id" />
      <field column="Title" name="title" />
      <field column="Content" name="content" /> 
    </entity>
  </document>
</dataConfig>

这里<field column="Id" name="id" />,column是指数据库字段,name对应索引文档的field
10. 打开solr\solrhome\Jobseeker\conf下的managed-schema文件,找到

 <field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />
  <!-- doc values are enabled by default for primitive types such as long so we don't index the version field  -->
  <field name="_version_" type="long" indexed="false" stored="false"/>
  <field name="_root_" type="string" indexed="true" stored="false" docValues="false" />
  <field name="_text_" type="text_general" indexed="true" stored="false" multiValued="true"/>

定义默认字段的地方,添加上面数据库导入的字段(id,title,content
11. 进入solr管理后台http://localhost:8080/solr/index.html#/Jobseeker/dataimport//dataimport生成索引

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值