Solr7

友好的教程在这里:

  1. solr学习篇(一) solr7.4 安装配置篇
  2. solr学习篇(二) solr 分词器篇
  3. solr学习篇(三) solr7.4 连接MySQL数据库
  4. 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上...

标签:solr, search