数据处理系列(二) 使用Solr查询Mysql中的数据
博客专区 > Kxvz 的博客 > 博客详情
数据处理系列(二) 使用Solr查询Mysql中的数据
Kxvz 发表于11个月前
数据处理系列(二) 使用Solr查询Mysql中的数据
  • 发表于 11个月前
  • 阅读 66
  • 收藏 1
  • 点赞 0
  • 评论 0

移动开发云端新模式探索实践 >>>   

环境 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中的数据完成...

 

标签: Centos7 mysql solr
  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 11
博文 93
码字总数 26142
×
Kxvz
请作者骑一次共享单车
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: