文档章节

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

Kxvz
 Kxvz
发布于 2017/06/30 10:52
字数 717
阅读 72
收藏 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
博文 101
码字总数 28990
作品 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
45
0
Solr的安装部署及简单使用

由于demo项目使用的是maven构建,maven仓库用的是oschina的,此时solr的最新版本是5.4,而oschina中的solrj最新版本是5.3.1,所以我们为了保持一致性,也将下载5.3.1的solr作为演示 一、下载...

Fraud
2016/01/05
8.1K
0
Apache solr(二).

上一篇试着进行了solr的安装和配置,以及如何solr的检索,今天试着简单的将solr连接MySQL数据库(才尝试了单表、一对多和多对多的还有待研究) 1、MySQL的目录结构 2、新建一个democore 3、在s...

jmcui
2017/05/20
0
0
全文检索引擎Solr系列——入门篇

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

引鸩怼孑
2016/04/25
63
0

没有更多内容

加载失败,请刷新页面

加载更多

Swagger中配置了@ApiModelProperty的allowableValues属性但不显示的问题

现在用Swagger来生成API文档的例子已经非常多了,今天碰到开发同事问了一个问题,帮着看了一下,主要还是配置方法的问题,所以记录一下。如果您也碰到了同样的问题,希望本文对您有用。 问题...

程序猿DD
28分钟前
1
0
sql 命令

show variables like '%general%'; show variables like '%log_output%'; show variables like '%quer%'; show global status like '%slow%';...

JavaSon712
36分钟前
0
0
Django修改默认数据库引擎

Django默认数据库引擎为sqlite3,除了sqlite3,还支持postgresql、mysql、oracle 配置如下:其中postgresql_psycopg2为postgresql的适配器。 'django.db.backends.postgresql' 'django.db.bac......

MichaelShu
41分钟前
0
0
动画源码解析

目录介绍 1.Animation和Animator区别 2.Animation运行原理和源码分析 2.1 基本属性介绍 2.2 如何计算动画数据 2.3 什么是动画更新函数 2.4 动画数据如何存储 2.5 Animation的调用 3.Animator...

潇湘剑雨
47分钟前
4
0
Mac OS 最强鼠标改键软件:BetterAndBetter

官网: http://www.better365.cn 话不多说,先上你们最喜欢的软件界面截图。 通用: 触摸板: 鼠标: 键盘: 情景模式: 文本跳窗(自动跳窗): 四角触发: 工具箱: 脚本: 关于: 说下我目...

故国有明
今天
20
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部