我是java的新手,但是一个灯专家。我正在使用 solr 来满足我的搜索要求。
但是,我需要对在线用户+一些条件进行实时搜索。
当前实现:我在帖子请求中发送所有在线用户 ID(+ offcourse 其他搜索条件),这非常慢。
为了克服这个问题,我必须做一些内部代码更改。
有人可以指导我如何进行此更改,是否有任何可用的教程
优化Solr非常简单。事实上,Solr的人自己想出了一个wiki页面来提高Solr的性能。
您可以通过多种方式调整 Solr。您应该查看的基本调整如下:
- 优化传递给 Solr 的 Java 参数,例如:
-Xmx2048m -Xms512m”(2G/512M)
- 调整符合要求的硬件。
- 配置所需的足够
SolrCache
。 Zookeeper
(如果使用)移动到另一个磁盘。如果索引很大,则从 Solr 到 -Zookeeper
的 I/O 调用次数将降低程序集性能。- 增加
Zookeeper
超时期限。 - 登录
GC
次,我发现Zookeeper
盒子上的暂停长达 20 秒。 - 优化 Solr 搜索查询。
- 使用建议从 http://wiki.apache.org/solr/ShawnHeisey#GC_Tuning 调整堆
另外,请查看Solr性能调优指南。
但是,最后,请记住,Solr不是用于实时搜索的。