Solr 是Apache下的一个顶级开源项目,采用Java开发,基于Lucene的全文搜索服务。
Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。
优势
ES在高级查询上优化更多更高效
ES本身是分布式的,而Solr需要配合Zookeeper使用实现分布式
ES创建索引更快,而Solr创建索引会产生阻塞
实时建立索引时,ES没有阻塞写入数据更快
ES的查询速度几乎不受数据量增加的影响,而Solr会越来越慢
劣势
针对已有的数据查询时,Sor速度更快
Solr接受的数据格式更丰富
Solr比较成熟稳定
Solr-9.3.0
JDK-17(建议不低于JDK8)
Python-3.6.8
ES-7.14.2
1. 创建solr用户(solr不允许root用户运行)
JDK-17安装过程省略
2. 安装solr
ES依赖安装对应版本
原本安装的pysolr-3.9.3发生了依赖冲突,降低至3.6.0正常可用
出现代码执行报错,参数数量冲突
join()函数仅支持输入一个参数,源码main.py文件中105-106用法如下,执行失败
可能为python版本问题方法用法产生变化,更换为如下命令执行无误
如果指定了Solr运行端口则对应更改8983
其他命令用法,参数说明见solr-to-es
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。