如何在 elasticsearch 中为 mongo-connector 生成的索引创建映射

How to create mapping in elasticsearch for index generated by mongo-connector

官方文档说,我们可以为每个索引创建一个string类型的映射,以MongoDB数据库和集合名称命名为animals.kitten.

我尝试将映射创建为:

$ curl -XPUT 'http://localhost:9200/animals.kitten/_mapping' -d '
{
    "animals.kitten" : {
        "properties" : {
            "name" : {"type" : "string", "store" : true }
        }
    }
}'

但它抛出的错误是:

{
   "error": "ActionRequestValidationException[Validation Failed: 1: mapping type is missing;]",
   "status": 500
}

我不知道我哪里错了。我尝试了不同的替代方案,但效果不佳。尽管 elasticsearch 为索引 animals.kitten 中的每个字段生成动态映射,但如果我可以手动插入映射就好了。

您的索引名称丢失且您的类型名称不一致(缺少最后一个 "s")。这有效:

curl -XPUT 'http://localhost:9200/myindex/animals.kittens/_mapping' -d '
{
  "animals.kittens" : {
    "properties" : {
        "name" : {"type" : "string", "store" : true }
    }
  }
}'

(不过你需要先创建索引)

抱歉回答晚了,但我找到了进行映射的方法。映射的例子是:

    curl -XPUT "http://localhost:9200/animals.kitten/string/_mapping" -d'{
        "string": {
            "properties" : {
            "name" : {"type" : "string", "store" : true }
             }
         }
     }'