@Field with type = FieldType.Object and enabled = false

@Field with type = FieldType.Object and enabled = false

根据此文档 https://www.elastic.co/guide/en/elasticsearch/reference/current/enabled.html 可以禁用对象的解析,但我在 @Field 中没有看到任何映射选项。 我不得不使用这个肮脏的 hack(在 indexOperations.createMapping() 之后):

(Map<String, Object>) ((Map) document.get("properties")).get("myObjectField")).put("enabled", false);

有更好的方法吗?我不想使用映射文件。

@Field 注释的参数中缺少那个,你是对的。 我创建了 an issue for that,今晚将尝试完成它,以便在下一个版本中使用它。

不,到目前为止,除了映射文件或您的解决方案之外没有其他方法(只有在您没有禁用自动索引创建时才有效,否则存储库设置将创建索引和映射)

编辑 09.10.2020:将从 4.1.RC2 版本开始包含在