Alfresco搜索服务的搜索性能问题

时间:2019-12-09 09:38:09

标签: alfresco alfresco-search-services

我们正在尝试将Alfresco CE系统从solr4的5.2迁移到带有Alfresco Search Services的Alfresco 6.1(我们尝试过1.3和1.4),但是使用Alfresco Search Services / Solr6时,我们面临着巨大的性能问题:在类似的设置下运行搜索需要3-5倍的时间。

一些背景:

  • Alfresco 5.2 / solr4在Ubuntu 16 / OracleJdk 8上运行
  • Alfresco 6.1 / ASS 1.4在Ubuntu 18上运行/采用OpenJDK 11
  • 存储库和ASS在专用服务器上运行(不涉及docker)
  • solr索引存储在非常快速的ssd SAN ext4设备上,不会出现随机和顺序访问/ IOPS数量的问题
  • 所有包装盒均具有8核,16 GB RAM
  • 所有包装盒都具有具有12 GB堆空间的jvm
  • 两个solr版本的缓存配置都相同
  • 两个solr版本具有相同的内存配置
  • solr文档数量:〜7,000,000

我们可以观察到的东西:

  • 搜索露天,圣诞节等简单的单词... Alfresco 5.2 / solr4在约1-2秒内返回尚未缓存的结果
  • 搜索露天,圣诞节等简单的单词... Alfresco 6.1 / solr6在约7-15秒内返回尚未缓存的结果
  • Alfresco 5.2 / solr4在solr admin ui中显示使用约9 GB的12 GB堆空间
  • Alfresco 6.1 / solr6在solr admin ui中显示使用约3个12 GB堆空间

我们已经尝试增加RAM,堆空间和CPU,而搜索性能没有任何变化。 我不知道为什么sol46 / ASS占用这么少的堆空间。

有人有类似的经历吗?

我们应该怎么做才能获得更好的响应时间?

我还尝试在solr6中配置分片(没有确信这解决了真正的问题),但是Creating Solr shards in Alfresco 6.1 CE的接缝也不起作用。

1 个答案:

答案 0 :(得分:0)

它指出,搜索性能问题是由社区针对本地化限制(通过在搜索查询中添加locale = '*')进行修复而引起的。

相反,应该始终使用默认情况下未设置的跨语言环境属性来创建索引。例如在shared.properties

# Data types that support cross locale/word splitting/token patterns if tokenised
alfresco.cross.locale.datatype.0={http://www.alfresco.org/model/dictionary/1.0}text
alfresco.cross.locale.datatype.1={http://www.alfresco.org/model/dictionary/1.0}content
alfresco.cross.locale.datatype.2={http://www.alfresco.org/model/dictionary/1.0}mltext

请检查https://github.com/Alfresco/SearchServices/issues/234以获得更多详细信息。