Golang Elasticsearch Olivere:根映射定义具有不受支持的参数

我相信我正在遵循以下步骤:

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 中已删除映射类型,但不知道这会如何产生上述错误。

我也在相应的仓库中报告了这个问题。


慕容708150
浏览 111回答 1
1回答

大话西游666

原因是"payloads": true删除“payloads”:true后,它可以工作。请注意,当您在 Elastic V6 上运行但意外使用 V7 的 golang 客户端时,您会收到类似的错误消息。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go