文檔
安裝(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
理論上即可看到返回數據。
最後
後續繼續補充,查詢配置相關文檔