elasticsearch 如何将文档批量索引到ElasticSearch的默认映射中?,elasticsearch,mapping,default,bulk,elasticsearch,Mapping,Default,Bulk" /> elasticsearch 如何将文档批量索引到ElasticSearch的默认映射中?,elasticsearch,mapping,default,bulk,elasticsearch,Mapping,Default,Bulk" />

elasticsearch 如何将文档批量索引到ElasticSearch的默认映射中?

elasticsearch 如何将文档批量索引到ElasticSearch的默认映射中?,elasticsearch,mapping,default,bulk,elasticsearch,Mapping,Default,Bulk,ElasticSearch 5.5的文档没有提供如何使用批量操作将文档索引到索引的默认映射中的示例。它也没有说明为什么这是不可能的,除非我在文档中的其他地方遗漏了这一点 ES 5.5文档给出了批量索引的一个明确示例: POST _bulk { "index" : { "_index" : "test", "_type" : "type1", "_id" : "1" } } { "field1" : "value1" } 但它也说 端点是/_bulk、/{index}/_bulk和{index}

ElasticSearch 5.5的文档没有提供如何使用批量操作将文档索引到索引的默认映射中的示例。它也没有说明为什么这是不可能的,除非我在文档中的其他地方遗漏了这一点

ES 5.5文档给出了批量索引的一个明确示例:

POST _bulk
{ "index" : { "_index" : "test", "_type" : "type1", "_id" : "1" } }
{ "field1" : "value1" }
但它也说

端点是/_bulk、/{index}/_bulk和{index}/{type}/_bulk。 当提供索引或索引/类型时,将由 未显式提供的批量项目的默认值

因此,中间端点是有效的,它对我来说意味着a)必须在元数据中为每个索引的文档显式提供一个类型,或者b)可以将文档索引到默认映射(“默认”)

但我不能让它工作

  • 我尝试了元数据中未指定类型的/myindex/bulk端点

  • 我尝试过使用“\u type”:“指定了默认值”

  • 我尝试了/myindex/\u default\u/bulk


这与
\u默认值
映射无关。这是关于退回到您在URL中指定的默认类型。您可以执行以下操作

POST _bulk
{ "index" : { "_index" : "test", "_type" : "type1", "_id" : "1" } }
{ "field1" : "value1" }
但是,下面的代码片段完全相同

POST /test/type1/_bulk
{ "index" : { "_id" : "1" } }
{ "field1" : "value1" }
你可以混合这个

POST foo/bar/_bulk
{ "index" : { "_index" : "test", "_type" : "type1", "_id" : "1" } }
{ "field1" : "value1" }
{ "index" : { "_id" : "1" } }
{ "field1" : "value1" }
在本例中,一个文档将被索引到
foo
,另一个文档将被索引到
test


希望这有意义。

这并不能解决问题。我没有“type1”类型或任何其他类型,我也不想仅仅为了使用批量索引而创建类型。因此问题仍然存在:如何在没有类型的情况下使用_bulkindex操作?每个索引操作都有一个独立于bulk的类型。您不能为没有类型的文档编制索引。