文档
Solr Ref Guide 6.6
https://wiki.apache.org/solr
安装(mac)
代码语言:javascript复制# 安装
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 文件夹
代码语言:javascript复制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
数据库/表
代码语言:javascript复制# 示例数据库表,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
理论上即可看到返回数据。
最后
后续继续补充,查询配置相关文档