1

在 Solr 1.4 上,您知道什么可能导致此类上的 OutOfMemoryError 吗?

org.apache.lucene.search.FieldCacheImpl$StringIndexCache#1

它需要 1 gb 的 ram,而底层的 WeakHashMap 只有 700 个键。


缓存配置:

<filterCache
  class="solr.FastLRUCache"
  size="1024"
  initialSize="0"
  autowarmCount="0"/>

<queryResultCache
  class="solr.FastLRUCache"
  size="1024"
  initialSize="0"
  autowarmCount="0"/>


<documentCache
  class="solr.FastLRUCache"
  size="1024"
  initialSize="0"
  autowarmCount="0"/>

通常我的对象很大,但不是很大,每个对象不超过 1mb!

Xmx 为 2GB。

300 万份文档被索引。

OOM 出现在查询时。

4

1 回答 1

1

如果您检查 /admin/stats.jsp 中的 Solr 核心,您可以在 FieldCache 下看到:

Provides introspection of the Lucene FieldCache, this is **NOT** a cache that is managed by Solr.

除了更改查询之外,您无法在 Solr 中对此缓存执行任何操作。很可能您正在对动态字段进行排序或在不使用facet.method=enum. 请参阅动态字段上的 Solr/Lucene fieldCache OutOfMemory 错误排序

于 2013-04-03T18:38:07.433 回答