solr6.6教程-从mysql数据库中导入数据(三)

本文详细介绍了如何在Solr6.6中配置数据库,包括修改solrconfig.xml和managed-schema.xml文件,创建data-config.xml文件,以及导入jar包和配置路径,最后演示了如何进行全量数据导入。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

整理多半天的solr6.6,终于算是把solr6.6中配置数据库弄出来了,网上的文章千篇一律,各说个的,没有一篇统一覆盖solr6.6版本配置的 帖子,本章节我会把配置的一些注意事项一一列举,由于时间原因,本片只介绍如何一次性导入数据,不附带增量导入,想看增量的同学可以在后面的文章中。

1,配置准备

本文的前提是你已经配置好了solr,并新创建了一个core,我们下面都会按照前一篇文章中的core_demo为基础开始

2,修改soreconfig.xml

在soreconfig.xml的<requestHandler name="/select" class="solr.SearchHandler">上面添加如下代码:

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

注意:需要确认文件中不存在其他的dataimport,如果存在直接替换即可

在同级目录下创建data-config.xml文件,然后配置数据库相关属性

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

<?xml version="1.0" encoding="UTF-8"?> 

<dataConfig>

    <dataSource name="source1" type="JdbcDataSource"

              driver="com.mysql.jdbc.Driver"

              url="jdbc:mysql://127.0.0.1:3306/ecejcallcenter"

              user="root"

              password="123456" />

    <document>

        <entity name="cc_bill" dataSource="source1" pk="bill_id"

            query="SELECT cc_bill.bill_id,cc_bill.`name`,cc_bill.address,cc_bill.city_name,cc_bill.create_time FROM cc_bill">

            <field column='bill_id' name='billid' />

            <field column='name' name='name' />

            <field column='address' name='address' />

            <field column='city_name' name='cityname' />

            <field column='create_time' name='createtime' dateTimeFormat='yyyy-MM-dd HH:mm:ss' />

        </entity>

    </document>

</dataConfig>

 

  关于详细的配置请参照:http://blog.youkuaiyun.com/boolbo/article/details/50352331

    官方wiki:https://cwiki.apache.org/confluence/display/solr/

3,配置managed-schema.xml

复制代码

<?xml version="1.0" encoding="UTF-8" ?>

<schema name="example" version="1.6">
  
   <field name="billid" type="int" indexed="true" stored="false"/>
   <field name="name" type="string" indexed="true" stored="true"/>
   <field name="address" type="string" indexed="true" stored="true"/>
   <field name="cityname" type="string" indexed="true" stored="true"/>
   <field name="createtime" type="date" indexed="true" stored="true"/>
   
   <field name="_version_" type="long" indexed="false" stored="false"/>
   <field name="text" type="string" indexed="true" stored="false" multiValued="true"/>
   <field name="_root_" type="string" indexed="true" stored="false" docValues="false" />


    <uniqueKey>billid</uniqueKey>

    <fieldType name="string" class="solr.StrField" sortMissingLast="true" />
    <fieldType name="int" class="solr.TrieIntField" docValues="true" precisionStep="0" positionIncrementGap="0"/>
    <fieldType name="long" class="solr.TrieLongField" docValues="true" precisionStep="0" positionIncrementGap="0"/>
    <fieldType name="date" class="solr.TrieDateField" docValues="true" precisionStep="0" positionIncrementGap="0"/>


</schema>

复制代码

网上很多教程说到schema.xml,这个文件是solr之前的版本中用到的,6.6版本是不需要的,直接修改上面的文件就可以。

4,拷贝jar

拷贝solr-6.6.0\dist路径下的solr-dataimporthandler-6.6.0.jar,solr-dataimporthandler-extras-6.6.0.jar 到E:\Java\tomcat\apache-tomcat-8.0.26-windows-x64\webapps\solr\WEB-INF\lib目录下

同时拷贝mysql-connector-java-5.1.40.jar链接jar到该目录下 

不需要修改任何配置文件即可,继续下面的步骤

5,修改jar配置路径

继续打开solrconfig.xml 找到lib标签,修改jar的路径,下面贴上我本地修改后的路径

复制代码

  <lib dir="E:\Java\components\solr-6.6.0/contrib/extraction/lib" regex=".*\.jar" />
  <lib dir="E:\Java\components\solr-6.6.0/dist/" regex="solr-cell-\d.*\.jar" />

  <lib dir="E:\Java\components\solr-6.6.0/contrib/clustering/lib/" regex=".*\.jar" />
  <lib dir="E:\Java\components\solr-6.6.0/dist/" regex="solr-clustering-\d.*\.jar" />

  <lib dir="E:\Java\components\solr-6.6.0/contrib/langid/lib/" regex=".*\.jar" />
  <lib dir="E:\Java\components\solr-6.6.0/dist/" regex="solr-langid-\d.*\.jar" />

  <lib dir="E:\Java\components\solr-6.6.0/contrib/ltr/lib/" regex=".*\.jar" />
  <lib dir="E:\Java\components\solr-6.6.0/dist/" regex="solr-ltr-\d.*\.jar" />

  <lib dir="E:\Java\components\solr-6.6.0/contrib/velocity/lib" regex=".*\.jar" />
  <lib dir="E:\Java\components\solr-6.6.0/dist/" regex="solr-velocity-\d.*\.jar" />

复制代码

不需要添加任何jar即可

6,重启tomcat,刷新solr页面即可看到下面界面

 full-import 全量导入,delta-import-增量导入

点击Execute就可以导入了,点击左侧Query可查询导入的数据

开开心心编码,快快乐乐生活

1 概述 4 1.1 企业搜索引擎方案选型 4 1.2 Solr的特性 4 1.2.1 Solr使用Lucene并且进行了扩展 4 1.2.2 Schema(模式) 5 1.2.3 查询 5 1.2.4 核心 5 1.2.5 缓存 5 1.2.6 复制 6 1.2.7 管理接口 6 1.3 Solr服务原理 6 1.3.1 索引 6 1.3.2 搜索 7 1.4 源码结构 8 1.4.1 目录结构说明 8 1.4.2 Solr home说明 9 1.4.3 solr的各包的说明 10 1.5 版本说明 11 1.5.1 1.3版本 11 1.5.2 1.4版本 12 1.6 分布式和复制 Solr 架构 13 2 Solr的安装与配置 13 2.1 在Tomcat下Solr安装 13 2.1.1 安装准备 13 2.1.2 安装过程 14 2.1.3 验证安装 15 2.2 中文分词配置 15 2.2.1 mmseg4j 15 2.2.2 paoding 19 2.3 多核(MultiCore)配置 22 2.3.1 MultiCore的配置方法 22 2.3.2 为何使用多core ? 23 2.4 配置文件说明 23 2.4.1 schema.xml 24 2.4.2 solrconfig.xml 25 3 Solr的应用 29 3.1 SOLR应用概述 29 3.1.1 Solr的应用模式 29 3.1.2 SOLR的使用过程说明 30 3.2 一个简单的例子 30 3.2.1 Solr Schema 设计 30 3.2.2 构建索引 30 3.2.3 搜索测试 31 3.3 搜索引擎的规划设计 32 3.3.1 定义业务模型 32 3.3.2 定制索引服务 34 3.3.3 定制搜索服务 34 3.4 搜索引擎配置 34 3.4.1 Solr Schema 设计(如何定制索引的结构?) 34 3.5 如何进行索引操作? 36 3.5.1 基本索引操作 36 3.5.2 批量索引操作 37 3.6 如何进行搜索 39 3.6.1 搜索语法 39 3.6.2 排序 42 3.6.3 字段增加权重 42 3.6.4 Solr分词器、过滤器、分析器 42 3.6.5 Solr高亮使用 46 4 SolrJ的用法 46 4.1 搜索接口的调用实例 46 4.2 Solrj的使用说明 47 4.2.1 Adding Data to Solr 47 4.2.2 Directly adding POJOs to Solr 49 4.2.3 Reading Data from Solr 51 4.3 创建查询 51 4.4 使用 SolrJ 创建索引 52 4.5 Solrj包的结构说明 53 4.5.1 CommonsHttpSolrServer 53 4.5.2 Setting XMLResponseParser 53 4.5.3 Changing other Connection Settings 53 4.5.4 EmbeddedSolrServer 54 5 Solr的实际应用测试报告 54 5.1 线下压力测试报告 54 5.2 线上环境运行报告 54 6 solr性能调优 55 6.1 Schema Design Considerations 55 6.1.1 indexed fields 55 6.1.2 stored fields 55 6.2 Configuration Considerations 55 6.2.1 mergeFactor 55 6.2.2 mergeFactor Tradeoffs 56 6.3 Cache autoWarm Count Considerations 56 6.4 Cache hit rate(缓存命中率) 56 6.5 Explicit Warming of Sort Fields 56 6.6 Optimization Considerations 56 6.7 Updates and Commit Frequency Tradeoffs 56 6.8 Query Response Compression 57 6.9 Embedded vs HTTP Post 57 6.10 RAM Usage Considerations(内存方面的考虑) 57 6.10.1 OutOfMemoryErrors 57 6.10.2 Memory allocated to the Java VM 57 7 FAQ 58 7.1 出现乱码或者查不到结果的排查方法: 58
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值