我可以在没有映射的情况下在 ElasticSearch 上索引嵌套文档吗?



我有一个结构经常变化的文档,如何在不更改 ElasticSearch 上的映射的情况下为其中的嵌套文档编制索引?

您可以在 Elasticsearch 中索引文档,而无需提供映射 yes。

但是,当第一个文档包含字段的值时,Elasticsearch 会决定该字段的类型。如果您添加文档 1 并且它有一个名为 item_code 的字段,并且在文档 1 中item_code是一个字符串,Elasticsearch 会将字段"item_code"的类型设置为字符串。如果文档 2 在 item_code 中有一个整数值,Elasticsearch 已经将类型设置为字符串。

基本上,字段类型依赖于索引,而不是依赖于文档。

这主要是因为Apache Lucene及其处理这些信息的方式。

如果您遇到某些数据结构更改而其他数据结构没有更改的情况,则可以使用对象类型 http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/mapping-object-type.html。

你甚至可以在上面使用"enabled":false,这使得elasticsearch只存储数据。你不能再搜索它了,但也许你真的不想要它?

最新更新