【发布时间】:2012-02-26 00:25:07
【问题描述】:
我有一个 9 核的 SOLR。 其中一个核心有大约 1 000 000 个文档。 (约 1GB 大小)
在完成向这个核心提交 100 个文档后,我接下来对 SOLR 中所有其他核心的 20 -40 个查询变得非常慢(3 到 8 秒)
我使用数据导入处理程序每 10 分钟添加约 100 个文档,然后提交(不优化)索引。
- 有没有办法减少索引后立即执行的查询的查询时间?
- 考虑到所有其他内核执行查询的速度很慢,这可能是硬件问题,还是我有很多内核的问题。
平均每秒对所有内核进行 20 次查询。 我使用 Jetty 和 SOLR 我有 mergeFactor = 10
<mergeFactor>10</mergeFactor>
我已经为缓存设置了自动预热计数
<filterCache
class="solr.FastLRUCache"
size="1048576"
initialSize="131072"
autowarmCount="943718"/>
<documentCache
class="solr.FastLRUCache" cleanupThread="true"
size="131072"
initialSize="117965"
autowarmCount="117965" />
对于 newSearcher 和 firstSearcher,我有 50 个查询来自动预热新搜索器。
<listener event="newSearcher" class="solr.QuerySenderListener">
<arr name="queries">
<str name="q">cake+boss</str><str name="facet">true</str><str name="facet.field">Category</str></lst>
...// 50 warm-up queries
</arr>
</listener>
//the same for firstSearcher
【问题讨论】:
标签: solr