solr 导入数据
从sqlserver导入数据到solr, solr 采用的版本6.0.1,并且本机解压到:F:\Tool\solr-6.0.1;
1. 命令启动solr,创建core
启动,进入solr文件目录下,执行:bin\solr start -p 8984
创建core,执行:bin\solr create -c postcore
检查是否创建成功:http://127.0.0.1:8984/solr
2. jar包添加,下载地址 https://gist.github.com/maxivak/3e3ee1fca32f3949f052
- 下载jar包 sqljdbc4.jar , 并且复制到
F:\Tool\solr-6.0.1\server\solr-webapp\webapp\WEB-INF\lib
- 将solr-dataimporthandler-6.0.1.jar、solr-dataimporthandler-extras-6.0.1.jar复制到lib下面,这两个文件位置:
F:\Tool\solr-6.0.1\dist
复制到
F:\Tool\solr-6.0.1\server\solr-webapp\webapp\WEB-INF\lib
- 采用mmseg4j作为中文分词,下载mmseg4j-solr-2.3.0.jar、mmseg4j-core-1.10.0.jar ,并且复制到:
F:\Tool\solr-6.0.1\server\solr-webapp\webapp\WEB-INF\lib
3. 编辑solrconfig文件,添加dataimport
- 路径:
F:\Tool\solr-6.0.1\server\solr\postcore\conf
- 添加文本:
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>
4. 编辑data-config.xml
- 路径,如果不存在data-config.xml则创建
F:\Tool\solr-6.0.1\server\solr\postcore\conf
- 添加文本,deltalImportQuery:增量操作,deltaQuery: 删除操作,对于其它字段所代表的意义简单,就不多做解释;
<?xml version="1.0" encoding="UTF-8" ?>
<dataConfig>
<dataSource type="JdbcDataSource"
driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://127.0.0.1; databaseName=postdb"
user="sa"
password="123456"/>
<document>
<entity name="post"
pk="id"
query="SELECT TOP 1000 [id],[type],[isdel],[msg],[createUser],[createTime] FROM [postdb].[dbo].[post]"
deltalImportQuery="SELECT TOP 1000 [id],[type],[isdel],[msg],[createUser],[createTime] FROM [postdb].[dbo].[post] where id='${dih.delta.id}'"
deltaQuery ="select id from [postdb].[dbo].[post] where updated_ad>'${dih.last_index_time}'">
<field column="id" name="id" />
<field column="type" name="type" />
<field column="isdel" name="isdel" />
<field column="msg" name="msg" />
<field column="createUser" name="createUser" />
<field column="createTime" name="createTime" />
</entity>
</document>
</dataConfig>
5. 编辑managed-schema文件,solr6.0.1 没有schema.xml文件
- 打开managed-schema文件路径,路径:
F:\Tool\solr-6.0.1\server\solr\postcore\conf
- 配置分词
<fieldtype name="textComplex" class="solr.TextField" positionIncrementGap="100" multiValued="true">
<analyzer>
<tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex"/>
</analyzer>
</fieldtype>
<fieldtype name="textMaxWord" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="max-word" />
</analyzer>
</fieldtype>
<fieldtype name="textSimple" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="simple" />
</analyzer>
</fieldtype> - 配置field
- <field name="allmm" type="textComplex" multiValued="true" indexed="true" required="false" stored="false" />
<field name="type" type="int" indexed="true" stored="true" required="false" />
<field name="isDel" type="boolean" indexed="true" stored="true" required="false" />
<field name="msg" type="textComplex" indexed="true" stored="true" required="false" />
<field name="createUser" type="textComplex" indexed="true" stored="true" required="false" />
<field name="createTime" type="date" indexed="true" stored="true" required="false" /><copyField source="msg" dest="allmm" />
<copyFiled source="createUser" dest="allmm" />
<defaultSearchField>allmm</defaultSearchField>
<solrQueryParser defaultOperator="OR"/>
6. 重启solr服务
F:\Tool\solr-6.0.1>bin\solr restart -p 8984
7. 执行导入,点击 execute 按钮,全量导入;点击refresh Status按钮查看执行状态

9. 测试分词:可以看到在allmm,分词分为哪些,然后就可以根据这些分词进行查询;

10. 查询:关键字:“国家电网”,可以查询到数据,如果关键字是 “国家”,就不会查询到数据,这个是分词导致的

至此sqlserver 导入数据到solr,基本完成。
solr 导入数据的更多相关文章
- solr增量数据配置说明
转帖地址:http://www.blogjava.net/conans/articles/379546.html 以下资料整理自网络,觉的有必要合并在一起,这样方便查看.主要分为两部分,第一部分是对& ...
- 搜索引擎Solr系列(二): Solr6.2.1 从MySql中导入数据
一:建立MySql测试表,如下图: 二:solr导入配置: 1.新建demo core文件夹,并修改managed-schema里面的配置文件建立索引字段: 2.把mysql-connector-j ...
- Solr导入MySql中的数据
1.参照 http://www.cnblogs.com/luxh/p/5016894.html 部署好solr的环境 2.在solr_home下建立一个core_item目录 [root@iZ23ex ...
- Solr学习笔记之3、Solr dataimport - 从SQLServer导入数据建立索引
Solr学习笔记之3.Solr导入SQLServer数据建立索引 一.下载MSSQLServer的JDBC驱动 下载:Microsoft JDBC Driver 4.0 for SQL Server ...
- Solr导入数据库数据
接Solr-4.10.2与Tomcat整合.1.在solrconfig.xml中添加数据导入节点,solrconfig.xml路径为D:\solr\data\solr\collection1\conf ...
- Solr 07 - Solr从MySQL数据库中导入数据 (Solr DIH的使用示例)
目录 1 加入数据导入处理器的jar包 2 加入数据库驱动包 3 配置solrconfig.xml文件 3.1 配置lib标签 - 加入驱动jar包 3.2 配置requestHandler标签 - ...
- Solr导入MySQL数据之dataimport-handler
Solr不借助手动JSolr编程情况下也可以将Mysql的数据导入到Solr中.实现方式是安装dataimport-Handler从关系数据库将数据导入到索引库. 1.向SolrCore中加入jar包 ...
- solr特点六: DIH (从数据源导入数据)
在这个结构化数据和非结构化数据的数量都很庞大的年代,经常需要从数据库.XML/HTML 文件或其他数据源导入数据,并使数据可搜索.过去,要编写自定义代码才能创建到数据库.文件系统或 RSS 提要的自定 ...
- Solr导入MongoDB数据
数据导入方式: 全量导入和增量导入: query 是全量导入时,把你的数据中查到的数据全部导入,deltaImportQuery 和 deltaQuery 是增量导入数据所需要的两个查询语句.delt ...
随机推荐
- SQL Server 诊断查询-(4)
Query #41 Memory Clerk Usage -- Memory Clerk Usage for instance -- Look for high value for CACHESTOR ...
- 2015年百度之星初赛(1) --- B 找连续数
找连续数 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- C#设计模式——策略模式(Strategy Pattern)
一.概述我们来实现一个企业的工资系统,该企业中不同级别的员工工资算法都不相同,针对该问题,最容易想到的莫过于在代码中堆积一大堆if…else…语句或者是switch…case…语句.如果该企业中不同级 ...
- C#设计模式——生成器模式(Builder Pattern)
一.概述在软件系统中,有时候面临着复杂的对象创建,该对象由一定算法构成的子对象组成,由于需求变化,这些子对象会经常变换,但组合在一起的算法却是稳定的.生成器模式可以处理这类对象的构建,它提供了一种封装 ...
- 可拖动FPS显示框(UGUI)
简介 本来是想往上找一个可拖动FPS显示框的(我记得以前有人写过),然而搜了一个多小时都没搜到,索性自己写了一个,花费不到20分钟,看来还是自己动手丰衣足食啊 o(╯□╰)o 效果 上下的Toast不 ...
- 安卓使ScrollView滚动到底部代码
在开发中,我们经常需要更新列表,并将列表拉倒最底部,比如发表微博,聊天界面等等, 这里有两种办法,第一种,使用scrollTo(): public static void scrollToBottom ...
- BI之SSAS完整实战教程6 -- 设计维度、细化维度上:创建维度定义特性关系
前面我们使用过数据源向导.数据源视图向导.Cube向导来创建相应的对象. 本篇我们将学习使用维度向导来创建维度. 通过前面几个向导的学习,我们归纳一下共同点,主要分成两步 1. 使用某种对象类型的向导 ...
- HDU 5667 Sequence 矩阵快速幂+费马小定理
题目不难懂.式子是一个递推式,并且不难发现f[n]都是a的整数次幂.(f[1]=a0;f[2]=ab;f[3]=ab*f[2]c*f[1]...) 我们先只看指数部分,设h[n]. 则 h[1]=0; ...
- ahjesus用forever管理nodejs服务
全局安装forever npm install -g forever 查看帮助 forever -h 查看安装位置 whereis forever 编写自己的sh文件 forever -p web文件 ...
- .NET Core Runtime IDentifier (RID) catalog
转载至:https://docs.microsoft.com/zh-cn/dotnet/articles/core/rid-catalog What are RIDs? RID is short fo ...