SugarCRM 8.0.1 无法识别 Elasticsearch 5.6.9 索引中总字段限制的增加

SugarCRM 8.0.1 not recognizing increase in limit of total fields in Elasticsearch 5.6.9 index

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

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

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

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

我知道这个命令很有效,因为在 return 之后 运行 我得到了这个:

{"acknowledged":true}

如果我 运行 以下...

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

...这是 returned 的一部分:

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

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

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

我也知道重启我的Elasticsearch服务是没有用的,因为我运行增加新字段限制的PUT请求只针对当前运行ning服务;如果我重新启动它,我必须再次输入 PUT 请求,这样就多余了。

您确定这不仅仅是 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