Solr基本搭建及MySQL配置
时间:2022-07-22
本文章向大家介绍Solr基本搭建及MySQL配置,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
文档
安装(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
理论上即可看到返回数据。
最后
后续继续补充,查询配置相关文档
- 老生常谈:利用Membership实现SSO(单点登录)
- nginx利用geo模块做限速白名单以及geo实现全局负载均衡的操作记录
- Mysql高效插入/更新数据
- 宋小菜融资2.3亿元!域名保护意识强
- 世界最奇葩的7款机器人
- Mysql高效插入/更新数据
- 关于Membership/Role您可能不知道的细节
- Sqlite向MySql导入数据
- 未来3年,人工智能如何影响法律行业?5位权威专家给出趋势
- Java 常见内存溢出异常与代码实现
- nginx限制上传大小和超时时间设置说明/php限制上传大小
- Unity Application Block 1.2 学习笔记
- 苹果首个自动驾驶专利到底有什么来头?
- 围棋遇上互联网:科技打开优秀传统文化未来之门
- MySQL 教程
- MySQL 安装
- MySQL 管理与配置
- MySQL PHP 语法
- MySQL 连接
- MySQL 创建数据库
- MySQL 删除数据库
- MySQL 选择数据库
- MySQL 数据类型
- MySQL 创建数据表
- MySQL 删除数据表
- MySQL 插入数据
- MySQL 查询数据
- MySQL where 子句
- MySQL UPDATE 查询
- MySQL DELETE 语句
- MySQL LIKE 子句
- mysql order by
- Mysql Join的使用
- MySQL NULL 值处理
- MySQL 正则表达式
- MySQL 事务
- MySQL ALTER命令
- MySQL 索引
- MySQL 临时表
- MySQL 复制表
- 查看MySQL 元数据
- MySQL 序列 AUTO_INCREMENT
- MySQL 处理重复数据
- MySQL 及 SQL 注入
- MySQL 导出数据
- MySQL 导入数据
- MYSQL 函数大全
- MySQL Group By 实例讲解
- MySQL Max()函数实例讲解
- mysql count函数实例
- MYSQL UNION和UNION ALL实例
- MySQL IN 用法
- MySQL between and 实例讲解
- android studio集成ijkplayer的示例代码
- Android开发实现浏览器全屏显示功能
- Android动态人脸检测的示例代码(脸数可调)
- Android抽奖轮盘的制作方法
- Android 获取屏幕的多种宽高信息的示例代码
- Android编程实现禁止StatusBar下拉的方法
- Android自定义view圆并随手指移动
- Android仿微信发送语音消息的功能及示例代码
- 详解Android studio ndk配置cmake开发native C
- Android编程实现禁止状态栏下拉的方法详解
- Android进度条ProgressBar的实现代码
- Android画画板的制作方法
- Android实现bitmap指定区域滑动截取功能
- Android开发实现应用层面屏蔽状态栏的方法小结
- Android实现实时搜索框功能