文档章节

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

Kxvz
 Kxvz
发布于 2017/06/30 10:52
字数 717
阅读 80
收藏 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
博文 104
码字总数 29161
作品 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
如何解决分布式系统数据事务一致性问题

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

hblt-j
2018/12/13
0
0
全文检索引擎Solr系列——入门篇

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

引鸩怼孑
2016/04/25
63
0
Apache solr(二).

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

jmcui
2017/05/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

弹窗时候禁止页面滚动

1、依靠css 将页面 document.documentElement.style.overflow='hidden'; document.body.style.overflow='hidden';//手机版设置这个。 如果设置了如上,页面的滚动条将会消失,此时鼠标滚轮失......

Jack088
19分钟前
4
0
.NET的数学库NMath实用教程——创建最小二乘法

NMath是一个适用于所有.NET语言,如C#、Visual Basic、F#和.NET的数学库,它包含了.NET平台上的面向对象数字计算的基础类。我们将以连载的形式向大家介绍NMath的实用教程,有任何建议或提示...

ymy_666666
19分钟前
1
0
索尼为收购工作室准备,对抗微软?

对比来说,索尼方面不但没有增加新的工作室,反而在过去两年内关闭了一些工作室。面对微软的步步紧逼,索尼最新的招聘广告暗示将来有可能会收购一些工作室。 在领英上,索尼互动娱乐发布了两...

linuxCool
19分钟前
1
0
公司网站有漏洞被入侵该怎么解决

2019年1月14日消息,thinkphp又被爆出致命漏洞,可以直接远程代码执行,getshell提权写入网站木马到网站根目录,甚至直接提权到服务器,该漏洞影响版本ThinkPHP 5.0、ThinkPHP 5.0.10、Think...

网站安全
31分钟前
2
0
centos7 Nginx+rtmp 搭建流媒体服务器

一. gcc 安装 安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装: yum -y install gcc gcc-c++ 二. PCRE pcre-devel 安装 PCRE(Perl Compatib...

legend3
49分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部