技术文章 - CS252678

Windchill 中的索引搜索速度非常慢,或者导致 Solr 服务器抛出 OutOfMemoryError 错误。

已修改: 17-Dec-2025   


注意:本文已使用机器翻译软件翻译,以方便非英语客户阅读。但翻译内容可能包含语法错误或不准确之处。请注意, PTC对本文所含信息的翻译准确性及使用后果不承担任何责任。请在 此处 查看本文的英文原始版本以便参考。有关机器翻译的更多详情,请单击 此处
感谢您告诉我们。我们将尽快审阅此译文。

适用于

  • Windchill PDMLink 10.2 to 13.0

说明

  • 通过 Windchill 执行索引搜索速度很慢
    • 例如,对于一个拥有6000 万个已索引到 Solr 的对象的系统
      • 从 Windchill 获取10 个结果需要40秒。
      • 直接在 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