Solr导入MongoDB数据
数据导入方式:
全量导入和增量导入:
query 是全量导入时,把你的数据中查到的数据全部导入,deltaImportQuery 和 deltaQuery 是增量导入数据所需要的两个查询语句。deltaImportQuery 后面有个过滤条件是数据库中的唯一标识id = '${dataimporter.delta.id}' 后面这个id 是solr索引库中的id ,固定不变的。deltaQuery 的话后面只需要加个数据库中更新时间的字段 例如updateDate>'${dataimporter.last_index_time}' 即可 ,我们每次导入数据的时候会在索引库的conf 目录下的dataimport.properties文件中记录时间点 也就是last_index_time=日期,就是为了方便做增量索引。只要你的数据库中有更新了某些字段或者添加了新的条数(前提是表中必须有个任意更新字段就要更新updateDate 这个字段),我们只要做个定时的增量索引,就可以做到每次增量时,都可保证solr查询到的数据都是最新的。
全量索引和增量索引的配置区别,首先全量索引会把数据库中所有数据进行索引的更新,增量索引只更新数据库中增删改查过的,要使用增量索引,数据库中要有一个标识字段来表示数据的变化,我们可以使用时间戳来表示,数据更新时时间戳也更新,这样,solr通过比较时间戳的变化来增量更新索引。
Solr导入mongodb数据实例
使用开源项目mongo-connector实现Solr的增量导入功能:
1、 配置mongodb的副本集群模式配置





配置启动mongodb副本集成功;
2、 安装mongo-connector
使用python安装:pip install 'mongo-connector[solr]'
3、solr配置 solrconfig.xml:
<requestHandler name="/admin/luke" class="org.apache.solr.handler.admin.LukeRequestHandler" />
solr配置managed-schema:
<uniqueKey>id</uniqueKey>
//修改为
<uniqueKey>_id</uniqueKey>
//添加
<field name="_id" type="string" indexed="true" stored="true" />
<field name="name" type="string" indexed="true" stored="true" />
<field name="area" type="string" indexed="true" stored="true"/>
//注释原有的
<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />
4、配置好后,访问如下地址,存在JSON数据则成功:
http://127.0.0.1:20001/solr/test01/admin/luke?show=schema&wt=json

5、连接配置
进入mongo-connector目录输入命令:
mongo-connector --auto-commit-interval=0 -m 127.0.0.1:27111 -t http://127.0.0.1:20001/solr/test01 -d solr_doc_manager

6、mongo数据库中插入数据:

7、solr中查询数据:如下图表示mongodb数据导入solr成功

Solr导入MongoDB数据的更多相关文章
- Solr导入数据库数据
接Solr-4.10.2与Tomcat整合.1.在solrconfig.xml中添加数据导入节点,solrconfig.xml路径为D:\solr\data\solr\collection1\conf ...
- solr导入数据库数据-tinyint数据转boolean
solr在导入mysql数据库数据时,遇到一个问题:数据类型为tinyint的数据对应不到solr中的数据类型,因此就需要将tinyint转一下. 修改schema.xml文件,如下: 1.添加boo ...
- Solr导入MySQL数据之dataimport-handler
Solr不借助手动JSolr编程情况下也可以将Mysql的数据导入到Solr中.实现方式是安装dataimport-Handler从关系数据库将数据导入到索引库. 1.向SolrCore中加入jar包 ...
- PowerBi利用Python Script绕过ODBC来导入MongoDB数据
- 【Solr】数据库数据导入索引库
目录 分析框图 配置数据库与solrconfig.xml 回到顶部 分析框图 框图画的粗糙!勿喷啊!勿喷啊! 回到顶部 配置数据库与solrconfig.xml Dataimport插件 可以批量把数 ...
- mongodb数据导入导出以及备份恢复
昨日在公司收到游戏方发来一个1G多的数据文件,要求导入联运账号中.细细一看,纳尼!文件竟然是BSON格式. 哇塞,这不是去年给大家分享的NoSql中的MongoDB的备份文件吗? 于是搭好环境 1.启 ...
- mongoDB 数据导出与导入
一.导出 命令格式:在mongodb/bin目录下 mongoexport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 -f 字段 -q 条件导出 --csv ...
- .Net程序员 Solr-5.3之旅 (三)Solr 从MSSQ导入索引数据
阅读目录 引言 准备工作 data-config.xml schema.xml 导入数据 结尾 附件下载 引言 Other men live to eat, while I eat to live.- ...
- 通过logstash-input-mongodb插件将mongodb数据导入ElasticSearch
目的很简单,就是将mongodb数据导入es建立相应索引.数据是从特定的网站扒下来,然后进行二次处理,也就是数据去重.清洗,接着再保存到mongodb里,那么如何将数据搞到ElasticSearch中 ...
随机推荐
- 使用回车键执行input框事件
html: <input type="text" class="search-data-input" placeholder="请输入关键词&q ...
- 下载腾讯VIP视频
1.找到自己想看的VIP视频网页地址,比如我就喜欢看一周一更的天行九歌,链接地址:https://v.qq.com/x/cover/rm3tmmat4li8uul/i0031xd1vjf.html 2 ...
- 【JVM 知识体系框架总结】
JVM 内存分布 线程共享数据区: 方法区->类信息,静态变量 堆->数组对象 线程隔离区 虚拟机栈-> 方法 本地方法栈->本地方法库 native 堆.程序计数器 JVM ...
- 利用sqlalchemy 查询视图
这个问题 google 百度 中英文搜了一上午.最新的回答还是 7年前.最后自己靠着官方文档的自己改出来一个比较方便的方法 使用环境 python == 3.7.0 SQLAlchemy === 1. ...
- Spring 梳理 - 开启并配置 Spring MVC 的方法
传统web.xm中配置两个上下文+两个context对应的xml+两个上下文bean分别手动配置 传统web.xm中配置两个上下文+两个context对应的xml+<mvc:annotation ...
- springboot 集成druid
1.druid简介 Druid首先是一个数据库连接池.Druid是目前最好的数据库连接池,在功能.性能.扩展性方面,都超过其他数据库连接池,包括DBCP.C3P0.BoneCP.Proxool.JBo ...
- Python3爬虫基础实战篇之机票数据采集
项目:艺龙国内机票实时数据爬虫 使用模块:requests(请求模块),js2py(js执行模块),json(解析json),xpath(解析网页). 项目流程: 分析网站数据来源. 编写爬虫脚本. ...
- Django之使用haystack+whoosh实现搜索功能
为了实现项目中的搜索功能,我们使用的是全文检索框架haystack+搜索引擎whoosh+中文分词包jieba 安装和配置 安装所需包 pip install django-haystack pip ...
- 夯实Java基础系列13:深入理解Java中的泛型
目录 泛型概述 一个栗子 特性 泛型的使用方式 泛型类 泛型接口 泛型通配符 泛型方法 泛型方法的基本用法 类中的泛型方法 泛型方法与可变参数 静态方法与泛型 泛型方法总结 泛型上下边界 泛型常见面试 ...
- golang学习之路
目录 go语言介绍 开发环境准备 go语言基础 Go语言常用标准库 数据库相关 前端相关 web开发 go语言介绍 为什么要学习go语言 开发环境准备 从零开始搭建Go语言开发环境 VS Code配置 ...