程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> macOS安裝Solr並索引MySQL

macOS安裝Solr並索引MySQL

編輯:關於MYSQL數據庫

安裝 Java 語言的軟件開發工具包

brew cask install java

或者在Oracle官網 中選擇 Mac 版本 jdk-8u111-macosx-x64.dmg 下載並安裝。

安裝 Solr

brew install solr

當前(2016-11-10) brew 源的 Solr 版本為 6.1.0,你可以通過brew edit solr來修改你要安裝的版本,或者通過官方網站下載源碼包來進行編譯安裝。

啟動 Solr

solr start

返回以下文字提示,則表示 solr 服務器安裝成功,默認監聽的端口號為 8983:

Waiting up to 30 seconds to see Solr running on port 8983 [\]
Started Solr server on port 8983 (pid=890). Happy searching!

在浏覽器中訪問

Solr 提供了可視化管理界面Solr Admin,默認的訪問URL為: http://localhost:8983/solr/

創建一個名為 test 的 core

solr create -c test

返回以下信息,則表示創建成功:

Copying configuration to new core instance directory:
/usr/local/Cellar/solr/6.1.0/server/solr/test
Creating new core 'test' using command:
http://localhost:8983/solr/admin/cores?action=CREATE&name=test&instanceDir=test
{
"responseHeader":{
"status":0,
"QTime":8845},
"core":"test"}

這一命令會在/usr/local/Cellar/solr/6.1.0/server/solr/目錄下創建一個命令test/的目錄,test/目錄中包含了test core相關的數據文件和配置文件。

在Solr Admin管理界面可以看到test core的信息:

安裝 MySQL 數據庫

brew install mysql

將root的密碼修改為123456。或者其他你喜歡的密碼:

mysqladmin -u root password '123456'

這個 MySQL 賬號會在配置 Solr 索引 MySQL 信息時使用到。

添加測試用於測試的數據:

create database solrdata;
use solrdata;
create table goods(id int not null auto_increment, name varchar(20) not null default '', number varchar(20) not null default '', updateTime timestamp not null default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, primary key(id));
insert into goods(name, number) values('鞋子', 100);
insert into goods(name, number) values('衣服', 200);
insert into goods(name, number) values('褲子', 300);

下載 MySQL 驅動

從 MySQL 官方地址 下載 mysql-connector-java 驅動包。或者直接運行一下命令獲取 5.1.40 版本的驅動:

wget http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.40.tar.gz

將這一驅動包復制到 /usr/local/Cellar/solr/6.1.0/libexec/dist/目錄中:

tar -zxvf mysql-connector-java-5.1.40.tar.gz
cd mysql-connector-java-5.1.40
cp mysql-connector-java-5.1.40-bin.jar /usr/local/Cellar/solr/6.1.0/libexec/dist/

修改solrconfig.xml配置

vi /usr/local/Cellar/solr/6.1.0/server/solr/test/conf/solrconfig.xml

引入相關驅動包

將 /usr/local/Cellar/solr/6.1.0/libexec/dist/ 中的 3 個相關 jar 包進入進來:

<lib dir="${solr.install.dir}/libexec/dist/" regex="mysql-connector-java-5.1.40-bin.jar" />
<lib dir="${solr.install.dir}/libexec/dist/" regex="solr-dataimporthandler-.*\.jar" />

添加 MySQL 配置信息

在<requestHandler name="/select" class="solr.SearchHandler">的前面添加以下信息:

<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> 
<lst name="defaults"> 
<str name="config">data-config.xml</str> 
</lst> 
</requestHandler>

在同目錄下新建data-config.xml文件

vi /usr/local/Cellar/solr/6.1.0/server/solr/test/conf/data-config.xml

添加以下信息:

<?xml version="1.0" encoding="UTF-8"?>
<dataConfig>
<dataSource name="source1"
type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/solrdata"
user="root"
password="123456"
batchSize="-1"/>
<document>
<entity name="goods"
pk="id"
dataSource="source1"
query="select * from goods"
deltaImportQuery="select * from goods where id='${dih.delta.id}'"
deltaQuery="select id from goods where updateTime> '${dataimporter.last_index_time}'">
<field column="id"
name="id"/>  
<field column="name"
name="name"/>
<field column="number"
name="number"/>
<field column="updateTime"
name="updateTime"/> 
</entity>
</document>
</dataConfig>

managed-schema配置field信息

vi /usr/local/Cellar/solr/6.1.0/server/solr/test/conf/managed-schema

新增以下信息:

<field name="name" type="string" indexed="true" stored="false" />
<field name="number" type="int" indexed="true" stored="false" />
<field name="updateTime" type="date" indexed="true" stored="false" />

重啟 solr 服務

solr restart

返回以下信息說明 Solr 服務器重啟成功:

Sending stop command to Solr running on port 8983 ... waiting 5 seconds to allow Jetty process 1446 to stop gracefully.
Waiting up to 30 seconds to see Solr running on port 8983 [/]
Started Solr server on port 8983 (pid=1784). Happy searching!

Dataimport 操作

打開浏覽器進入 Solr Admin,在以下界面中,點擊Execute按鈕:

成功後,顯示以下界面:

Query 查詢

進入 Query 頁面,點擊Execute按鈕:

以上所述是小編給大家介紹的macOS安裝Solr並索引MySQL ,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對網站的支持!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved