技术文章 - CS252678
Windchill 中的索引搜索速度非常慢,或者导致 Solr 服务器抛出 OutOfMemoryError 错误。
已修改: 17-Dec-2025
适用于
- Windchill PDMLink 10.2 to 13.0
说明
- 通过 Windchill 执行索引搜索速度很慢。
- 例如,对于一个拥有6000 万个已索引到 Solr 的对象的系统
- 从 Windchill 获取10 个结果需要40秒。
- 直接在 Solr 上执行相同的搜索,只需要几秒钟。
- 例如,对于一个拥有6000 万个已索引到 Solr 的对象的系统
- 此外,索引搜索可能会导致 Solr BackgroundMethodServer 抛出OutOfMemoryError 异常。
2016-10-31 11:07:40,245 ERROR [http-bio-8085-exec-2] org.apache.solr.servlet.SolrDispatchFilter - java.lang.OutOfMemoryError: Java heap space
at org.apache.lucene.search.FieldCacheImpl$StringIndexCache.createValue(FieldCacheImpl.java:869)
at org.apache.lucene.search.FieldCacheImpl$Cache.get(FieldCacheImpl.java:233)
at org.apache.lucene.search.FieldCacheImpl.getStringIndex(FieldCacheImpl.java:856)
at org.apache.solr.search.function.ReverseOrdFieldSource.getValues(ReverseOrdFieldSource.java:63)
at org.apache.solr.search.function.TopValueSource.getValues(TopValueSource.java:59)
at org.apache.solr.search.function.ReciprocalFloatFunction.getValues(ReciprocalFloatFunction.java:62)
at org.apache.solr.search.function.FunctionQuery$AllScorer.<init>(FunctionQuery.java:126)
at org.apache.solr.search.function.FunctionQuery$FunctionWeight.scorer(FunctionQuery.java:96)
at org.apache.lucene.search.BooleanQuery$BooleanWeight.scorer(BooleanQuery.java:298)
at org.apache.lucene.search.FilteredQuery.getFilteredScorer(FilteredQuery.java:149)
at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:577)
at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:364)
at org.apache.solr.search.SolrIndexSearcher.getDocListNC(SolrIndexSearcher.java:1296)
at org.apache.solr.search.SolrIndexSearcher.getDocListC(SolrIndexSearcher.java:1176)
at org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:375)
at org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:394)
at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:186)
at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:129)
at org.apache.solr.core.SolrCore.execute(SolrCore.java:1376)
at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:365)
at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:260)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at com.ptc.solr.servlet.SolrAccessFilter.doFilter(SolrAccessFilter.java:40)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at wt.servlet.ServletRequestMonitor.doFilter(ServletRequestMonitor.java:1650)
at wt.servlet.ServletRequestMonitorFilter.doFilter(ServletRequestMonitorFilter.java:56)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
这是文章 252678 的 PDF 版本,可能已过期。最新版本 CS252678