solr(三) : 导入数据库表数据
solr 除了能查询文档中的数据外, 还可以导入数据库中的数据.
也就是说, solr 能查询其他数据库中的数据(solr本身也是一个数据库, 非关系型的).
那接下来就试一下导入mysql数据库中的数据.
一. 准备工作
1. 在solr_core下面新建lib文件夹. 然后将以下jar包拷贝进去
2. 修改 solrconfig.xml 文件
在文档的底部加入:
<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中. 方便在一次连接中查询多个域
二. 导数据
三. 查询结果
从高亮的地方, 就可以看出这功能和之前Baidu的功能非常的像吧, 嘿嘿
solr(三) : 导入数据库表数据的更多相关文章
- MySql利用mysqldump导出/导入数据库表数据
备份 在源主机上,先使用mysqldump命令备份,导出sql脚本文件 mysqldump -uroot -p tel_dev > /opt/tel_dev.sql 也可指定编码 mysqldu ...
- solr插件导入数据库中的数据
solr插件导入数据库中的数据 1:自定义与数据库对应的域: 1.1. 设置业务系统Field 如果不使用Solr提供的Field可以针对具体的业务需要自定义一套Field. 例如:如下是商品信息Fi ...
- oracle如何导出和导入数据库表
oracle如何导出和导入数据库表 oracle如何将项目中的表导出后在导入自己的数据库中,这是一个完整的操作,对于数据库备份或在本地查看数据验证数据进场用到,一般情况下我都用dos黑窗口进行操作,简 ...
- oracle如何导出和导入数据库/表
oracle如何导出和导入数据库/表 oracle如何将项目中的表导出后在导入自己的数据库中,这是一个完整的操作,对于数据库备份或在本地查看数据验证数据进场用到,一般情况下我都用dos黑窗口进行操作, ...
- hive-hbase-handler方式导入hive表数据到hbase表中
Hive与HBase的整合功能的实现是利用两者本身对外的API接口互相进行通信,相互通信主要是依靠hive-hbase-handler.jar工具类 : hive-hbase-handler.jar在 ...
- mssql sqlserver 使用sql脚本 清空所有数据库表数据的方法分享
摘要: 下文讲述清空数据库中所有表信息的方法分享,如下所示: 实验环境:sql server 2008 实现思路: 1.禁用所有约束,外键 2.禁用所有触发器 3.删除表数据 4.开启触发器 5.开启 ...
- jmeter 获取数据库表数据作为参数
jmeter - 获取数据库表数据作为参数 在jmeter中使用数据库表数据首先需要设置数据库连接,然后在创建JDBC取样器 1.创建配置元件 JDBC Connection Configuratio ...
- MSSQL 删除数据库表数据
--删除数据库表数据 慎用 create PROCEDURE sp_DeleteAllData AS ) ) ) ) ) ) begin try begin tran -- 失效索引,触发器 open ...
- Sqlserver 连接oracle和mysql数据库 已经oracle导入sqlserver表数据
SQL Server2012创建连接服务器到ORACLE11G 8,百思考不知道原因啊??突然我发现如下:链接服务器—〉访问接口—〉OraOLEDB.Oracle—〉允许进程内没有勾上,但是我想上面的 ...
随机推荐
- spring boot jpa 多条件组合查询带分页的案例
spring data jpa 是一个封装了hebernate的dao框架,用于单表操作特别的方便,当然也支持多表,只不过要写sql.对于单表操作,jpake可以通过各种api进行搞定,下面是一个对一 ...
- Shell编程-09-Shell中的函数
目录 基本语法 函数执行 函数示例 函数可以简化程序的代码量,达到更好的代码复用度,因此会让程序变得更加易读.简洁和易修改.其作用就是将需要多次使用的代码整合到一块,使其成为一个整体,然后通过 ...
- mysql_结构
代码执行结构:顺序结构.分支机构.循环结构 分支结构:实现准备多个代码块,按照条件选择执行某段代码 在mysql中只有if分支 基本语法 if 条件判断 then -- 满足条件要执行的代码; els ...
- POJ3189 Steady Cow Assignment
Steady Cow Assignment Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 6817 Accepted: ...
- NODE-WEBKIT教程(5)NATIVE UI API 之FRAMELESS WINDOW
node-webkit教程(5)Native UI API 之Frameless window 文/玄魂 原文链接:http://www.xuanhun521.com/Blog/2014/4/15/n ...
- Oracle.ManagedDataAccess.Client.OracleException:“ORA-00936: 缺失表达式”
static void Main(string[] args) { string sql = "insert into StudentC(Stuid, Stuname, Stupass) v ...
- nginx,gunicorn常用命令
nginx 启动: 在下载nginx的目录下直接输入nginx回车 停止: nginx -s stop 重启: nginx -s reload 查看当前运行进程: ps -ef | grep ngin ...
- AjaxResult
package com.sprucetec.tms.utils; /** * AjaxReturn * * @author Yinqiang Du * @date 2016/7/12 */import ...
- Mybatis 逆向工程学习随笔
一.逆向工程的作用 简单来说,就是替我们生成Java代码. 之前使用Mybatis的Mapper代理方法开发,还需要自己创建实体类,而且属性还得和数据库中的字段对应.这着实是机械化的而且比较麻烦的事, ...
- [umbraco] 数据结构
我想此图就能说明一切了,不需要再废话了