Solr通过配DIH对数据库数据做索引
1 加入相关jar包
将2个相关jar包复制到/opt/solr-7.7.1/server/solr-webapp/webapp/WEB-INF/lib文件夹下
jar包名称
solr-dataimporthandler-extras-7.7.1.jar
solr-dataimporthandler-7.7.1.jar
jar包所在位置/opt/solr-7.7.1/dist
并将连接oracle的jar包也复制到该目录下
2 配置Core下的solrconfig.xml文件
/opt/solr-7.7.1/server/solr/article_core/conf/solrconfig.xml
加入到<config></config>标签内
<!-- import date-->
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>
3 在conf中创建data-config.xml
/opt/solr-7.7.1/server/solr/article_core/conf中
<?xml version="1.0" encoding="UTF-8" ?>
<dataConfig>
<dataSource type="JdbcDataSource"
driver="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@ip地址:1521:ORCL"
user="连接数据库用户名"
password="连接数据库密码"/> <document> <entity name="bookInfo" query="SELECT
BOOK_ID,
TITLE_CN,
TITLE_EN,
KEYWORDS_CN,
KEYWORDS_EN
from
EL.T_BOOK_INFO">
<field column="BOOK_ID" name="id"/>
<field column="TITLE_CN" name="titleCn"/>
<field column="TITLE_EN" name="titleEN"/>
<field column="KEYWORDS_CN" name="keywordsCn"/>
<field column="KEYWORDS_EN" name="keywordsEn"/> </entity> </document> </dataConfig>
4在schema.xml中添加域
<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" /> <field name="titleCn" type="text_ik" indexed="true" stored="true" required="true" multiValued="false" /> <field name="titleEn" type="text_ik" indexed="true" stored="true" required="true" multiValued="false" /> <field name="keywordsCn" type="text_ik" indexed="true" stored="true" required="true" multiValued="false" /> <field name="keywordsEn" type="text_ik" indexed="true" stored="true" required="true" multiValued="false" />
其中field中的name值与data-config.xml中的name值一样
5重启solr服务
bin/solr restart
执行添加 10万条数据大概用时1m30s
Solr通过配DIH对数据库数据做索引的更多相关文章
- 【Solr】数据库数据导入索引库
目录 分析框图 配置数据库与solrconfig.xml 回到顶部 分析框图 框图画的粗糙!勿喷啊!勿喷啊! 回到顶部 配置数据库与solrconfig.xml Dataimport插件 可以批量把数 ...
- 通过读取excel数据和mysql数据库数据做对比(二)-代码编写测试
通过上一步,环境已搭建好了. 下面开始实战, 首先,编写链接mysql的函数conn_sql.py import pymysql def sql_conn(u,pwd,h,db): conn=pymy ...
- 使用 Solr 创建 Core 并导入数据库数据
1. 输入 http://localhost:8080/solr/index.html 来到 Solr 的管理界面: 2. 点击左侧 Core Admin --> Add Core,然后输入自己 ...
- 通过读取excel数据和mysql数据库数据做对比(一)-win环境准备
要想操作excel和mysql首先需要安装python,然后是安装excel和mysql插件: 第一步安装python: 直接百度搜索,下载安装就可以了. 第二步安装excel插件: 首先到这个htt ...
- 如何通过 Docker 部署 Logstash 同步 Mysql 数据库数据到 ElasticSearch
在开发过程中,我们经常会遇到对业务数据进行模糊搜索的需求,例如电商网站对于商品的搜索,以及内容网站对于内容的关键字检索等等.对于这些高级的搜索功能,显然数据库的 Like 是不合适的,通常我们采用 E ...
- solr 7+tomcat 8 + mysql实现solr 7基本使用(安装、集成中文分词器、定时同步数据库数据以及项目集成)
基本说明 Solr是一个开源项目,基于Lucene的搜索服务器,一般用于高级的搜索功能: solr还支持各种插件(如中文分词器等),便于做多样化功能的集成: 提供页面操作,查看日志和配置信息,功能全面 ...
- 在Linux环境下,将Solr部署到tomcat7中,导入Mysql数据库数据, 定时更新索引
什么是solr solr是基于Lucene的全文搜索服务器,对Lucene进行了扩展优化. 准备工作 首先,去下载以下软件包: JDK8:jdk-8u60-linux-x64.tar.gz TOMCA ...
- solr 简单搭建 数据库数据同步(待续)
原来在别的公司负责过文档检索模块的维护(意思就是不是俺开发的啦). 所以就略微接触和研究了下文档检索. 文档检索事实上是全文检索.是通过一种技术把N多文档进行一定规律的分割归类,然后创建易于搜索的索引 ...
- solr导入数据库数据-tinyint数据转boolean
solr在导入mysql数据库数据时,遇到一个问题:数据类型为tinyint的数据对应不到solr中的数据类型,因此就需要将tinyint转一下. 修改schema.xml文件,如下: 1.添加boo ...
随机推荐
- TensorFlow 模型保存/载入
我们在上线使用一个算法模型的时候,首先必须将已经训练好的模型保存下来.tensorflow保存模型的方式与sklearn不太一样,sklearn很直接,一个sklearn.externals.jobl ...
- Gym - 101810C ACM International Collegiate Programming Contest (2018)
bryce1010模板 http://codeforces.com/gym/101810 #include <bits/stdc++.h> using namespace std; #de ...
- code与const void*指针
关于指针: 当定义int *p时,它也会在内存中给指针变量p分配一个内存单元,假设这个单元在内存的编址为0x1003:此时,0x1003中的值是不确定的,(因为我们没有给指针赋值),当编译器遇到了p= ...
- 安卓 使用LruCache 加载图片 遇到的问题
本来 使用listview的时候 加载大图片的时候 会遇到内存溢出而导致崩溃. 但是使用LruCache的时候 原本以为可以 解决这个问题. 但是发现还是出现了内存溢出的情况. 困扰很久 另外, ...
- Unity加载AssetBundle的方法
using System.Collections; using System.Collections.Generic; using UnityEngine; using System.IO; usin ...
- Jquery多选框互相内容交换
<head runat="server"> <title>无标题页</title> <script type="text/jav ...
- Negut 上传乱码
解决办法 修改 bat 文件的 格式为ANSI格式即可
- C# 连接 Oracle,读取Blob字段数据,存到文件中去,包括pdf等等
代码如下,记得引入Oracle的dll using System; using System.Collections.Generic; using System.ComponentModel; usi ...
- git与GitHub(一)
相信,很多初入前端者都会对git以及GitHub不太了解,而我当时也经历过各种面试大关,也都会问:你了解git和GitHub吗?那么今天先来说一说git. 那么什么是git? (以下转载自廖雪峰老师的 ...
- functools模块中的函数
Python自带的functools模块提供了一些常用的高阶函数,也就是用于处理其它函数的特殊函数.换言之,就是能使用该模块对可调用对象进行处理.functools模块函数概览functools.cm ...