文档章节

数据处理系列(二) 使用Solr查询Mysql中的数据

Kxvz
 Kxvz
发布于 2017/06/30 10:52
字数 717
阅读 87
收藏 1

环境 Centos7, Mysql5.7, Solr6.6

安装 Mysql的教程 点击这里 -> https://my.oschina.net/Kxvz/blog/420244

1. 首先下载 Solr-6.6.0

wget http://mirror.bit.edu.cn/apache/lucene/solr/6.6.0/solr-6.6.0.tgz
 

2.解压

tar -zxvf solr-6.6.0.tgz

3.配置Core的相关文件

C:\Users\kai\Desktop\data\solr-6.6.0\server\solr\configsets

### 首先进入solr-6.6.0\server\solr\configsets 复制 data_driven_schema_configs 并重命名为 MyDataCollections
cd solr-6.6.0\server\solr\configsets 
cp -R data_driven_schema_configs MyDataCollections

### 进入配置文件目录并进行修改
cd MyDataCollections/conf

### 修改 solrconfig.xml

  <lib dir="${solr.install.dir:../../../..}/contrib/extraction/lib" regex=".*\.jar" />
  <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-cell-\d.*\.jar" />

  <lib dir="${solr.install.dir:../../../..}/contrib/clustering/lib/" regex=".*\.jar" />
  <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-clustering-\d.*\.jar" />

  <lib dir="${solr.install.dir:../../../..}/contrib/langid/lib/" regex=".*\.jar" />
  <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-langid-\d.*\.jar" />

  <lib dir="${solr.install.dir:../../../..}/contrib/velocity/lib" regex=".*\.jar" />
  <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-velocity-\d.*\.jar" />
  
  <!- 这下面的是新增的,需要自己下载mysql-connector-java-5.1.41.jar并放在solr-6.6.0目录下的dist文件夹中 ->
  <lib dir="${solr.install.dir:../../../..}/dist/" regex="mysql-connector-java-5.1.41.jar" />
  <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-dataimporthandler-6.6.0.jar" />
  <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-dataimporthandler-extras-6.6.0.jar" />

<!- 在 requestHandler name="/select" class="solr.SearchHandler" 行上面新增以下内容,并在conf文件夹中新建文件 data-config.xml ->
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
  <lst name="defaults">
    <str name="config">data-config.xml</str>
  </lst>
</requestHandler>

<requestHandler name="/select" class="solr.SearchHandler">

### data-config.xml 文件内容如下, 数据库为:test_db, 表为:language 字段配置如下

<?xml version="1.0" encoding="UTF-8"?>  
<dataConfig>  
    <dataSource name="source1" type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://127.0.0.1:3306/test_db?useSSL=false" user="root" password="123456" batchSize="-1" />  
  <document>  
        <entity name="language" pk="id"  dataSource="source1" query="select * from  language" deltaImportQuery="select * from language where id='${dih.delta.id}'" deltaQuery="select id from language where update_time > '${dataimporter.last_index_time}'">  
			<field column="id" name="id"/>
			<field column="code" name="code"/>
			<field column="name" name="name"/>
			<field column="description" name="description"/>
			<field column="status" name="status"/>
			<field column="create_time" name="create_time"/>
			<field column="update_time" name="update_time"/>
     </entity>  
  </document>  
</dataConfig>

### 最后修改managed-schema文件 配置索引字段 先搜索field name=定位位置 , 注意已有字段不要更改 新增自己的字段 



    <field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />
    <!-- doc values are enabled by default for primitive types such as long so we don't index the version field  -->
    <field name="_version_" type="long" indexed="false" stored="false"/>
    <field name="_root_" type="string" indexed="true" stored="false" docValues="false" />
    <field name="_text_" type="text_general" indexed="true" stored="false" multiValued="true"/>
 
    <field name="code" type="string" indexed="true" stored="false"/>
    <field name="name" type="string" indexed="true" stored="false"/>
    <field name="description" type="string" indexed="true" stored="false"/>
    <field name="status" type="boolean" indexed="true" stored="false"/>
    <field name="create_time" type="long" indexed="true" stored="false"/>
    <field name="update_time" type="long" indexed="true" stored="false"/>

    

图片教程:

solrconfig.xml 的配置内容

data-config.xml 的配置内容

managed-schema 的配置内容

目录结构

 

配置完成后 启动Solr:

cd solr-6.6.0/bin

./solr start

注意 启动Solr不要使用root启动 (root启动需要 ./solr start -force 强制启动)

 

启动完成后 在WEB中打开 http://{YourServerIP}:8983/solr/

如果访问不到注意是否防火墙阻止了?  关闭防火墙的方法:  systemctl stop firewalld

 

添加 CORE

 

导入数据并创建索引

添加完成后等待创建索引,创建完成后就可以进行查询了

至此 Solr查询Mysql中的数据完成...

 

© 著作权归作者所有

Kxvz
粉丝 12
博文 106
码字总数 29791
作品 0
成都
程序员
私信 提问
solr搜索之入门及原理(一)

solr搜索技术 系列文章: solr搜索之入门及原理(一) solr搜索之demo和集成IKAnalyzer(二) solr搜索之solrJ语法(三) solr搜索之mysql导入数据到solr(四) solr搜索之tomcat运行solr(五...

wyait
2017/07/05
0
0
如何解决分布式系统数据事务一致性问题(HBase加Solr)

摘要:对于所有的分布式系统,我想事务一致性问题是极其非常重要的问题,因为它直接影响到系统的可用性。本文以下所述所要解决的问题是:对于入HBase和Solr的过程,如何保证HBase中写入的数据...

飞翼
2016/12/13
101
0
如何解决分布式系统数据事务一致性问题

一、关于分布式系统事务一致性问题 Java 中有三种可以的事务模型,分别称作本地事务模型(Local Transaction Model),编程式事务模型(Programmatic Transaction Model),和声明式事务模型...

hblt-j
2018/12/13
37
0
Solr搜索引擎 — 通过mysql配置数据源

上一节我们已经通过两种方式运行了solr,本节演示怎么配置solr的mysql数据源 附上: 喵了个咪的博客:http://w-blog.cn Solr官网:http://lucene.apache.org/solr/ > PS:8.0.0版本已经发布,...

喵了_个咪
05/21
15
0
全文检索引擎Solr系列——入门篇

Solr采用Lucene搜索库为核心,提供全文索引和搜索开源企业平台,提供REST的HTTP/XML和JSON的API,如果你是Solr新手,那么就和我一起来入门吧!本教程以solr4.8作为测试环境,jdk版本需要1.7...

引鸩怼孑
2016/04/25
83
0

没有更多内容

加载失败,请刷新页面

加载更多

计算机实现原理专题--二进制减法器(二)

在计算机实现原理专题--二进制减法器(一)中说明了基本原理,现准备说明如何来实现。 首先第一步255-b运算相当于对b进行按位取反,因此可将8个非门组成如下图的形式: 由于每次做减法时,我...

FAT_mt
今天
5
0
好程序员大数据学习路线分享函数+map映射+元祖

好程序员大数据学习路线分享函数+map映射+元祖,大数据各个平台上的语言实现 hadoop 由java实现,2003年至今,三大块:数据处理,数据存储,数据计算 存储: hbase --> 数据成表 处理: hive --> 数...

好程序员官方
今天
7
0
tabel 中含有复选框的列 数据理解

1、el-ui中实现某一列为复选框 实现多选非常简单: 手动添加一个el-table-column,设type属性为selction即可; 2、@selection-change事件:选项发生勾选状态变化时触发该事件 <el-table @sel...

everthing
今天
6
0
【技术分享】TestFlight测试的流程文档

上架基本需求资料 1、苹果开发者账号(如还没账号先申请-苹果开发者账号申请教程) 2、开发好的APP 通过本篇教程,可以学习到ios证书申请和打包ipa上传到appstoreconnect.apple.com进行TestF...

qtb999
今天
10
0
再见 Spring Boot 1.X,Spring Boot 2.X 走向舞台中心

2019年8月6日,Spring 官方在其博客宣布,Spring Boot 1.x 停止维护,Spring Boot 1.x 生命周期正式结束。 其实早在2018年7月30号,Spring 官方就已经在博客进行过预告,Spring Boot 1.X 将维...

Java技术剑
今天
18
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部