Solr通过配DIH对数据库数据做索引
2024-08-30 03:34:11
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
最新文章
- Datazen地图Chart自定义数据
- Java 进程占用 VIRT 虚拟内存超高的问题研究
- Tomcat的8009端口AJP的利用
- 将string转化为char*的方法
- ### C++总结-[类成员函数]
- 【HDOJ】1756 Cupid&#39;s Arrow
- CSDN Markdown简明教程3-表格和公式
- ZOJ 2679 Old Bill(数学)
- Visual Studio跨平台开发实战(2) - Xamarin.iOS基本控制项介绍
- synchronized和lock比对
- 导出excel记录
- select、poll、epoll
- 好玩的原生js的简单拖拽
- Linux最终将会领先于Windows、Mac OS!
- Codeforces 939C - Convenient For Everybody
- java使用jdbc连接oracle(其他数据库类似)
- python:a+=b 和a=a+b? 基础数据类型也不能乱用
- 4.5Python数据类型(5)之列表类型
- 8 -- 深入使用Spring -- 3...4 在ApplicationContext中使用资源
- Eclipse修改workspace目录的几种方式
热门文章
- Codeforces Round #497 (Div. 2) A. Romaji
- python之生成器(~函数,列表推导式,生成器表达式)
- 用javascript编写一个简单的随机验证码程序
- python_21(Django中间件)
- Linux--NiaoGe-Service-08(路由)
- 牛客网Java刷题知识点之什么是JSP的3大常用指令、JSP的6大哪些动作、JSP中include指令和include动作有什么区别
- 根据Content获取到ItemsControl中对应的Item
- ajax报错问题的解决
- VirtualBox Network设置的NAT和Bridged Adapter模式区别
- Xcode5 如何添加一个Github/Repository 并且Checkout