Solr7
友好的教程在这里:
- solr学习篇(一) solr7.4 安装配置篇
- solr学习篇(二) solr 分词器篇
- solr学习篇(三) solr7.4 连接MySQL数据库
- solr学习篇(四) java使用solr简单查询(初识solrj)
几个点记一下:
1. 部署的服务器是aliyun的4核4G内存ECS, 上面还跑了lamp全家桶和redis, 500w数据导入的时候OOM
解决方法:
a. 默认启动的时候设置了 512MB 内存, 增加到 2GB
./path-to-solr-folder/solr start -m 2g
b. 导入配置文件data-config.xml
中dataSource对象增加batchSize属性
...
<dataSource type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://127.0.0.1:3306/demo"
user="root"
password="root"
batchSize="-1"/>
...
2. 通过crontab设置全量和增量定时任务
#每天 06:00 ~ 次日 03:00 每隔 7 分钟 增量导入
*/7 0-3,6-23 * * * /usr/bin/curl -G -d "command=delta-import&clean=false&commit=true" "http://localhost:8983/solr/demo_core/dataimport"
#每天 04:01 清空数据并全量导入
1 4 * * * /usr/bin/curl -G -d "command=full-import&clean=true&commit=true" "http://localhost:8983/solr/demo_core/dataimport"
3. admin后台UI增加登录验证逻辑
参考这里:
SOLR Jetty admin UI访问控制配置
其实Solr应该放在内网单独一台vm上...