go - Golang Elasticsearch Olivere:根映射定义具有不受支持的参数
问题描述
我正在尝试使用Olivere 的 Go 语言版本 7 的弹性搜索客户端创建一个索引。在 repo 的wiki 页面上有一个示例如何实现这一点。我相信我正在遵循以下步骤:
client, err := elastic.NewClient()
if err != nil {
// Handle error
panic(err)
}
// Create a new index.
mapping := `{
"settings":{
"number_of_shards":1,
"number_of_replicas":0
},
"mappings":{
"properties":{
"tags":{
"type":"keyword"
},
"location":{
"type":"geo_point"
},
"suggest_field":{
"type":"completion",
"payloads":true
}
}
}
}`
ctx := context.Background()
createIndex, err := client.CreateIndex("twitter").BodyString(mapping).Do(ctx)
if err != nil {
// Handle error
panic(err)
}
if !createIndex.Acknowledged {
// Not acknowledged
}
然而我得到一个错误:
Failed to parse mapping [properties]: Root mapping definition has unsupported parameters: [location : {type=geo_point}] [suggest_field : {payloads=true, type=completion}] [tags : {type=keyword}] [type=mapper_parsing_exception]
我知道映射类型已在 Elasticsearch V7 中删除,但看不到这应该如何产生上述错误。
我也在相应的仓库中报告了这个问题。