当前位置:   article > 正文

将数据库中的数据导入Solr索引库_要展示的字段引入solr的库中

要展示的字段引入solr的库中

在前面的文章中介绍了solr的一些配置和功能,这篇文件开始讲如何具体使用solr。


将数据库中的数据导入索引库

在大部分应用中,主要还是使用的是数据库中的数据,因此,这一步还是非常重要的。
现在目录结构如图所示:
这里写图片描述
在solr后台管理界面中
这里写图片描述
dataimport 负责将数据库中数据导入到索引库中,不过在导入之前,还需要一些相关配置。

1、需要的jar包
这里写图片描述

还需要mysql的驱动包

将这3个jar包 放入 E:\solr\solrhome\collection1\lib 下

2.在solrconfig.xml中最后面添加一个requesthandler节点

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

其中 data-config.xml 是指关于要导入的数据库的配置信息。

2、在E:\solr\solrhome\collection1\conf 下创建
data-config.xml 文件

<?xml version="1.0" encoding="UTF-8" ?>  
<dataConfig>   
<dataSource type="JdbcDataSource"   
          driver="com.mysql.jdbc.Driver"   
          url="jdbc:mysql://localhost:3306/lucene"   
          user="root"   
          password="root"/>   
<document>   
    <entity name="product" query="SELECT pid,name,catalog_name,price,description,picture FROM products ">
         <field column="pid" name="id"/> 
         <field column="name" name="product_name"/> 
         <field column="catalog_name" name="product_catalog_name"/> 
         <field column="price" name="product_price"/> 
         <field column="description" name="product_description"/> 
         <field column="picture" name="product_picture"/> 
    </entity>   
</document>   

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

数据库和账户密码根据自己的实际情况来写
可以看出,可以在

query="SELECT pid,name,catalog_name,price,description,picture FROM products "
  • 1

指定自己索引库中要存的索引,

 <field column="pid" name="id"/> 
 <field column="name" name="product_name"/> 
  • 1
  • 2

可以配置索引中的域名 和 数据库字段的映射关系 ,其中column为字段名,name为域名。

3、在schema.xml中配置自定义域
首先要配置好ik分词器,不会的可以参考下面这篇文章
solr的安装与使用(二)

然后在后面增加自定义域

<field name="product_name" type="text_ik" indexed="true" stored="true"/>
   <field name="product_price"  type="float" indexed="true" stored="true"/>
   <field name="product_description" type="text_ik" indexed="true" stored="false" />
   <field name="product_picture" type="string" indexed="false" stored="true" />
   <field name="product_catalog_name" type="string" indexed="true" stored="true" />
   <field name="product_keywords" type="text_ik" indexed="true" stored="false" multiValued="true"/>
   <copyField source="product_name" dest="product_keywords"/>
   <copyField source="product_description" dest="product_keywords"/>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

这里面name 和 data-config.xml中的 name一致。type使用ik分词器定义的type

 type="text_ik"
  • 1

4、重启tomcat
选中collection1 点击dataimport
这里写图片描述
5、点击执行,就可以将数据中数据导入索引库了。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/运维做开发/article/detail/788979
推荐阅读
相关标签
  

闽ICP备14008679号