solr(三) : 导入数据库表数据

摘要:
--tb_项目表--˃copyField:_title,product_sell_将点字段复制到新域product_在关键字中,可以方便地在一个连接中查询多个字段。2.导出数据3。从突出显示的区域可以看到查询结果,该功能与之前的百度功能非常相似,嘿嘿

solr 除了能查询文档中的数据外, 还可以导入数据库中的数据. 

也就是说, solr 能查询其他数据库中的数据(solr本身也是一个数据库, 非关系型的).

那接下来就试一下导入mysql数据库中的数据.

一. 准备工作

1. 在solr_core下面新建lib文件夹. 然后将以下jar包拷贝进去

solr(三) : 导入数据库表数据第1张

2. 修改 solrconfig.xml 文件

solr(三) : 导入数据库表数据第2张

在文档的底部加入:

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

3. 在同级目录下, 新建 data-config.xml文件

<?xml version="1.0" encoding="UTF-8" ?>
<dataConfig>
<dataSource type="JdbcDataSource" 
            driver="com.mysql.jdbc.Driver" 
            url="jdbc:mysql://localhost:3306/test"
            user="root"
            password="root"/>
    <document>
        <entity name="tb_item" query="select id,title,sell_point,price,num,image from tb_item ">
            <field column="id" name="id" />
            <field column="title" name="product_title" />
            <field column="sell_point" name="product_sell_point" />
            <field column="price" name="product_price" />
            <field column="num" name="product_num" />            
            <field column="image" name="product_image" />
        </entity>
    </document>
</dataConfig>

在文件中配置, 数据库连接信息, 要查询的表字段映射配置

由于映射出来的字段, 是我自命名的, 在solr原来的域中, 可能并不存在, 所以, 要对我自定义的域进行配置

4. 配置managed-schema.xml

在文档的底部加上

    <!--tb_item 表-->
    <field name="product_title" type="text_ik_type" indexed="true" stored="true"/>
    <field name="product_sell_point" type="text_ik_type" indexed="true" stored="false"/>
    <field name="product_price" type="long" indexed="true" stored="true"/>
    <field name="product_num" type="int" indexed="true" stored="true"/>
    <field name="product_image" type="string" indexed="false" stored="true"/>
  
    <field name="product_keywords" type="text_ik_type" indexed="true" stored="false" multiValued="true"/>
    <copyField source="product_title" dest="product_keywords" />
    <copyField source="product_sell_point" dest="product_keywords" />

copyField : 将product_title, product_sell_point域拷贝到新域 product_keywords中. 方便在一次连接中查询多个域

二. 导数据

solr(三) : 导入数据库表数据第3张

三. 查询结果

solr(三) : 导入数据库表数据第4张

 从高亮的地方, 就可以看出这功能和之前Baidu的功能非常的像吧, 嘿嘿

免责声明:文章转载自《solr(三) : 导入数据库表数据》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Adobe Reader XI 已停止工作的解决办法JQuery 选择器处理特殊字符下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

C# 连接Oracle数据库,免安装oracle客户端

一、方案1 首先下面的内容,有待我的进一步测试和证实。18.12.20 被证实了,还需要安装Oracle客户端,或者本机上安装oracle数据库软件。 18.12.20 1.下载Oracle.ManagedDataAccess.dll 2.添加到C#引用 3.命名空间引用 using Oracle.ManagedDataAccess.Client; 4....

cx_Oracle连接oracle数据库

一、准备工作 #下载oracle客户端 https://www.oracle.com/database/technologies/instant-client/downloads.html #windows都下载32位 #下载后解压,将解压后的路径添加到系统环境变量中 #如果用Navicat的话,在选项OCI配置内加载oci.dll文件 二、单表代码...

牛腩新闻发布系统(一):SQLHelper重构(一)

导读:在机房重构的时候,就用到了SQLHelper,但那时候即使把代码反复看了很多遍,也看了注释,还和同学交流,也依然是半懂不懂。现在,我再次用到了SQLhelper这个东西,就来说说SQLHelper是怎么构建的。 一、Why?(为什么用) 1,首先看普遍性的D层操作 <span style="font-size:18px;">&...

MongoDB连接

MongoDB - 连接 启动 MongoDB 服务 在 MongoDB 安装目录的 bin 目录下执行 mongodb 启动 MongoDB 服务。 执行启动操作后,mongodb 在输出一些必要信息后不会输出任何信息,之后就等待连接的建立,当连接被建立后,就会开始打印日志信息。 你可以使用 MongoDB shell 来连接 MongoDB 服务器。你...

MYSQL 数据库导入导出命令

在不同操作系统或MySQL版本情况下,直接拷贝文件的方法可能会有不兼容的情况发生。所以一般推荐用SQL脚本形式导入。下面分别介绍两种方法。 MySQL命令行导出数据库 1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录 如我输入的命令行:cd C:Program FilesMySQLMySQL Server 4.1in (或...

Oracle—dblink创建与使用

一、DbLink的创建 1.PLSQL图文方式 2.SQL方式 -- Drop existing database link drop database link LINK_NC_ZS; -- Create database link create database link LINK_NC_ZS connect to ZSFNC identi...