Solr基本搭建及MySQL配置

时间:2022-07-22
本文章向大家介绍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 理论上即可看到返回数据。

最后

后续继续补充,查询配置相关文档