Solr基本搭建及MySQL配置 原

文檔

Solr Ref Guide 6.6

https://wiki.apache.org/solr

安裝(mac)

# 安裝
brew install solr

# 運行
brew services start solr

啓動後訪問 http://127.0.0.1:8983/, 理論上即可進入Solr管理界面。具體內容見Solr Admin UI

新建 Core

在管理界面,找到 Java Properties --> solr.​install.​dir:/usr/local/opt/solr, 後續配置文件中,會使用到該變量。

# 新建示例 core-demo
cd /usr/local/opt/solr
./bin/solr create_core -c core_demo

然後就會在該路徑下的 server/solr 文件夾下,看到 core_demo 文件夾

tree server/solr/core_demo
server/solr/core_demo
├── conf
│   ├── data-config.xml
│   ├── dataimport.properties
│   ├── lang
│   │   └── userdict_ja.txt
│   ├── managed-schema
│   ├── params.json
│   ├── protwords.txt
│   ├── solrconfig.xml
│   ├── stopwords.txt
│   └── synonyms.txt
├── core.properties
└── data
    ├── index
    ├── snapshot_metadata
    └── tlog

6 directories, 62 files

配置MySQL

數據庫/表

# 示例數據庫表,id爲主鍵,create_date爲增量數據更新判斷依據,title及request_uri爲查詢字段。
mysql> desc sys_log;
+-------------+--------------+------+-----+---------+-------+
| Field       | Type         | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+-------+
| id          | varchar(64)  | NO   | PRI | NULL    |       |
| type        | char(1)      | YES  | MUL | 1       |       |
| title       | varchar(255) | YES  |     |         |       |
| create_by   | varchar(64)  | YES  | MUL | NULL    |       |
| create_date | datetime     | YES  | MUL | NULL    |       |
| remote_addr | varchar(255) | YES  |     | NULL    |       |
| user_agent  | varchar(255) | YES  |     | NULL    |       |
| request_uri | varchar(255) | YES  | MUL | NULL    |       |
| method      | varchar(5)   | YES  |     | NULL    |       |
| params      | text         | YES  |     | NULL    |       |
| exception   | text         | YES  |     | NULL    |       |
+-------------+--------------+------+-----+---------+-------+
11 rows in set (0.01 sec)

添加依賴jar包

修改 solrconfig.xml 文件。

<!-- dataimport -->
<lib dir="${solr.install.dir:}/libexec/contrib/dataimporthandler/lib" regex=".*\.jar" />
<lib dir="${solr.install.dir:}/libexec/dist/" regex="solr-dataimporthandler-.*\.jar" />

<!-- mysql (儘量不要使用絕對地址) -->
<lib dir="/Users/root/.m2/repository/mysql/mysql-connector-java/5.1.44/" regex="mysql-connector-java-5.1.44.jar"/>

添加core_demo-->Dataimpoet

修改 solrconfig.xml 文件。

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

core_demo 文件夾下,創建 data-config.xml 文件。

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

         <field column="id" name="id"/>
         <field column="title" name="title"/>
           <field column="request_url" name="requestUrl"/>
           <field column="create_date" name="createDate"/>
     </entity>
  </document>
</dataConfig>

添加相應字段

修改 managed-schema 文件, 添加如下字段。字段名稱與data-config.xml中配置的字段名稱想對應。

<field name="title" type="string" indexed="true" stored="false"/>
<field name="requestUrl" type="string" indexed="true" stored="false"/>
<field name="createDate" type="pdate" indexed="true" stored="true" />

使用

此時。理論上重啓 brew services restart solr, 即可正常導入數據。

進入 core_demo --> Dataimport: 選擇 full-import/Clean/Commit 然後 Excute即可。

然後 進入 core_demo --> Query: 然後執行 Execute Query 理論上即可看到返回數據。

最後

後續繼續補充,查詢配置相關文檔

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章