文档章节

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

Kxvz
 Kxvz
发布于 2017/06/30 10:52
字数 717
阅读 69
收藏 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
粉丝 11
博文 96
码字总数 26943
作品 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系列——入门篇

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

引鸩怼孑
2016/04/25
63
0
新数仓系列:Hbase周边生态梳理(1)

大数据前几年各种概念争论很多,NoSQL/NewSQL,CAP/BASE概念一堆堆的,现在这股热潮被AI接过去了。大数据真正落地到车联网,分控,各种数据分析等等具体场景。 概念很高大上,搞得久了就会发...

znzqhb07nr
2017/12/01
0
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

没有更多内容

加载失败,请刷新页面

加载更多

下一页

函数调用约定 (cdecl stdcall)

函数调用约定 (cdecl stdcall) 在 C 语言里,我们通过阅读函数声明,就知道怎么携带参数去调用函数,也能在函数体定义内使用这些参数。但是 CPU 并不直接完成函数调用的传参操作,这需要人为...

傅易
5分钟前
0
0
Python 核心编程 (全)

浅拷贝和深拷贝 1.浅拷贝:是对于一个对象的顶层拷贝,通俗的理解是:拷贝了引用,并没有拷贝内容。相当于把变量里面指向的一个地址给了另一个变量就是浅拷贝,而没有创建一个新的对象,如a=b...

代码打碟手
7分钟前
0
0
mysql5.7 修改datadir

mysql 的默认存储路径为 /var/lib/mysql ,修改后为 /data/mysql 关闭服务 service mysql stop 复制mysql 数据文件到新的目录 cp -rp /var/lib/mysql /data 查看原目录的权限,如果新目...

hotsmile
24分钟前
0
0
证书安装指引之Tomcat 证书部署

Tomcat 证书部署 0 申请证书 1 获取证书 如果申请证书时有填写私钥密码,下载可获得Tomcat文件夹,其中有密钥库 www.domain.com.jks; 如果没有填写私钥密码,证书下载包的Tomcat文件夹中包括...

吴伟祥
28分钟前
0
0
ConcurrentHashMap1.7和1.8的底层不同实现

1.Hashmap和HashTable在线程安全方面的优劣? Hashmap多线程会导致HashMap的Entry链表形成环形数据结构,一旦形成环形数据结构,Entry的next节点永远不为空,就会产生死循环获取Entry。 Hash...

刘祖鹏
44分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部