json - 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 请求,这样就显得多余了。
解决方案
您确定这不仅仅是在 Sugar 重新创建索引时丢失的设置吗?
我会试一试config_override.php
:
$sugar_config['full_text_engine']['Elastic']['index_settings']['default']['index.mapping.total_fields.limit'] = 10000;
我不太确定这是表达该选项的正确方法。
推荐阅读
- html - 提交Angular JS后如何关闭表单
- nativescript - 使用 Nativescript Sidekick 为 iOS 构建云会导致 CODE_SIGN_ENTITLEMENTS 错误
- javascript - MVC 检查电子邮件是否已存在或未使用 Ajax
- android - 将捕获的图像或从画廊传递到另一个活动
- assembly - 为什么 make add rm 命令我没有指定?
- graph-databases - memgraphdb:支持图形数据库中的时间旅行查询
- aem - 无法在 WCMPojo 中获取隐式对象
- java - 如何将 LocalDate 列表写入 java 中的文件?
- require - 如何在 Mathjax 中定义和使用宏?
- python - 模型中的额外 ID