zoukankan      html  css  js  c++  java
  • 使用 Solr 创建 Core 并导入数据库数据

    1. 输入 http://localhost:8080/solr/index.html 来到 Solr 的管理界面;

    2. 点击左侧 Core Admin --> Add Core,然后输入自己想要的名字即可,输入完成点击 Add Core,如下图:

    如果出现以下这种错误:Error CREATEing SolrCore 'log_core': Unable to create core [log_core] Caused by: Can't find resource 'solrconfig.xml' in classpath or 'E:jdworkspace-solrsolrlog_core',则说明没找到需要的配置文件;

    修改步骤如下:

      (1)找到 Solr 目录(注意不是 Tomcat 下的 Solr,也不是工作空间的 Solr):E:jdsolr-6.6.2serversolrconfigsetssample_techproducts_configsconf,然后复制 conf 这个目录到工作空间的 Solr 中的 log_core(刚才创建的 Core 目录名) 目录下(我的地址:E:jdworkspace-solrsolrlog_core);

      (2)然后重新点击 Add Core 就会发现创建 Core 成功;

    3. 使用 dataimport 导入数据库数据;

      (1)首先导入三个 jar 包到 .../webapp/solr/WEB-INF/lib/ 目录下:分别是 solr-dataimporthandler-6.6.2.jar(目录地址 .../solr-6.6.2/dist)、solr-dataimporthandler-extras-6.6.2.jar(目录地址 .../solr-6.6.2/dist)、mysql-connector-java-5.1.34.jar(根据数据库类型导入不同的 jar 包);

      (2)找到 E:jdsolr-6.6.2exampleexample-DIHsolrdbconfdb-data-config.xml 文件,将其复制 E:jdworkspace-solrsolrlog_coreconf 目录下,并改名为 data-config.xml;

      (3)打开 E:jdworkspace-solrsolrlog_coreconfsolrconfig.xml 文件,并在 </config> 标签之前添加以下内容:

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

      (4)打开刚才复制的 data-config.xml (E:jdworkspace-solrsolrlog_coreconfdata-config.xml)文件,并进行如下编辑:

     1 <dataConfig>
     2     <!-- 这是 mysql 的配置 -->
     3     <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://127.0.0.1:3306/new" user="root" password="123" />
     4     <document>
     5         <!-- name 属性,就代表着一个文档,可以随便命名 -->
     6         <!-- query 是一条 sql,代表在数据库查找出来的数据 -->
     7         <entity name="log" query="select * from t_log">
     8             <!-- 每一个 field 映射着数据库中列与文档中的域,column 是数据库列,name 是solr 的域(必须是在 managed-schema 文件中配置过的域才行) -->
     9             <field column="logId" name="id"/>
    10             <field column="modelName" name="chat_type"/>
    11             <field column="operUser" name="chat_send"/>
    12             <field column="operTime" name="chat_receive"/>
    13             <field column="operType" name="chat_content"/>
    14             <field column="operContent" name="chat_date"/>
    15         </entity>
    16     </document>
    17 </dataConfig>

      (5)在 managed-schema 文件中配置需要的域

      介绍:

    <field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" /> 

        name:域名

        type:域的类型,必须匹配类型,不然会报错

        indexed:是否要作索引

        stored:是否要存储

        required:是否必填,一般只有 id 才会设置

        multiValued:是否有多个值,如果设置为多值,里面的值就采用数组的方式来存储,比如商品图片地址(大图,中图,小图等)

      第一种配置域(field):

    1    <!-- 配置自定义的 field -->
    2    <field name="log_modelName" type="string" indexed="false" stored="true"  />
    3    <field name="log_operUser" type="string" indexed="false" stored="true"  />
    4    <field name="log_operTime" type="string" indexed="false" stored="true"  />
    5    <field name="log_operType" type="string" indexed="false" stored="true"  />
    6    <field name="log_operContent" type="string" indexed="false" stored="true"  />

      第二种配置动态域(dynamicField):

    1    <dynamicField name="log_*" type="string" indexed="false" stored="true"  />

    4. 开始进入后台导入数据库数据,选择 log_core --> DataImport --> Execute,然后就开始执行导入数据库数据,如果数据多的话可以点击 Refresh Status 查看数据导入进度,导入成功会出现如下界面:

     5. 点击 Query --> Execute Query 进行数据的查询:

    6. 创建 Core 并导入数据库数据完结。

  • 相关阅读:
    PAT (Advanced Level) Practice 1100 Mars Numbers (20分)
    PAT (Advanced Level) Practice 1107 Social Clusters (30分) (并查集)
    PAT (Advanced Level) Practice 1105 Spiral Matrix (25分)
    PAT (Advanced Level) Practice 1104 Sum of Number Segments (20分)
    PAT (Advanced Level) Practice 1111 Online Map (30分) (两次迪杰斯特拉混合)
    PAT (Advanced Level) Practice 1110 Complete Binary Tree (25分) (完全二叉树的判断+分享致命婴幼儿错误)
    PAT (Advanced Level) Practice 1109 Group Photo (25分)
    PAT (Advanced Level) Practice 1108 Finding Average (20分)
    P6225 [eJOI2019]异或橙子 树状数组 异或 位运算
    P4124 [CQOI2016]手机号码 数位DP
  • 原文地址:https://www.cnblogs.com/yjq520/p/8426937.html
Copyright © 2011-2022 走看看