首页 > 解决方案 > SugarCRM 8.0.1 未识别 Elasticsearch 5.6.9 索引中总字段限制的增加

问题描述

在 SugarCRM 8.0.1 中,我试图安排完整的系统索引,但在 SugarCRM 错误日志中遇到以下错误:

[FATAL] Elasticsearch request failure: Limit of total fields [1000] in index [my_index] has been exceeded

我连接到在另一台机器上运行 Elasticsearch 5.6.9 的服务。在那里,我运行了以下命令来增加服务的字段限制:

curl -XPUT 'localhost:9200/my_index/_settings' -H 'Content-Type: application/json' -d'
{
    "index.mapping.total_fields.limit": 10000
}
'

我知道这个命令是坚持的,因为作为回报,在运行它之后我得到了这个:

{"acknowledged":true}

如果我运行以下...

curl -XGET 'localhost:9200/my_index/_settings?pretty'

...这是返回内容的一部分:

"my_index" : {
    "settings" : {
      "index" : {
        "mapping" : {
          "total_fields" : {
            "limit" : "10000"
          },

一切看起来都很好,但在尝试再次运行完整系统索引后,我的 SugarCRM 错误日志中仍然出现相同的错误。

我是否缺少任何步骤来确保 SugarCRM 识别新的字段限制?我曾尝试在 Sugar 中运行快速修复和重建并刷新我的缓存,但无济于事。

我也知道重新启动我的 Elasticsearch 服务是没有用的,因为我正在运行的增加新字段限制的 PUT 请求仅适用于当前正在运行的服务;如果我重新启动它,我将不得不再次输入 PUT 请求,这样就显得多余了。

标签: jsonelasticsearchsugarcrmelasticsearch-5

解决方案


您确定这不仅仅是在 Sugar 重新创建索引时丢失的设置吗?

我会试一试config_override.php

 $sugar_config['full_text_engine']['Elastic']['index_settings']['default']['index.mapping.total_fields.limit'] = 10000;

我不太确定这是表达该选项的正确方法。

灵感来自https://support.sugarcrm.com/Knowledge_Base/Installation_Upgrade/Installing_and_Administering_Elasticsearch/#Advanced_Index_Settings


推荐阅读