curl -X POST -d @ mapping.json +未创建映射

我正在学习elasticsearch。我已经在’mapping.json’中指定了映射。其内容是

{

"book" : {

"_index" : {

"enabled" : true

},

"_id" : {

"index": "not_analyzed",

"store" : "yes"

},

"properties" : {

"author" : {

"type" : "string"

},

"characters" : {

"type" : "string"

},

"copies" : {

"type" : "long",

"ignore_malformed" : false

},

"otitle" : {

"type" : "string"

},

"tags" : {

"type" : "string"

},

"title" : {

"type" : "string"

},

"year" : {

"type" : "long",

"ignore_malformed" : false,

"index" : "analyzed"

},

"available" : {

"type" : "boolean",

"index" : "analyzed"

}

}

}

}

当前的映射是

$ curl -XGET http://localhost:9200/_mapping?pretty

=> {

"development_users" : {

"user" : {

"properties" : {

"email" : {

"type" : "string"

},

"first_name" : {

"type" : "string"

},

"id" : {

"type" : "string",

"index" : "not_analyzed",

"omit_norms" : true,

"index_options" : "docs",

"include_in_all" : false

},

"last_name" : {

"type" : "string"

},

"role" : {

"type" : "string"

}

}

}

}

}

我使用以下命令为书籍创建映射

$ curl http://localhost:9200/books -X POST -d @mapping.json

=> {"ok":true,"acknowledged":true}

但是当列出所有映射时,我得到:

$ curl -XGET http://localhost:9200/_mapping?pretty

=> { "books" : { },

"development_users" : {

"user" : {

"properties" : {

"email" : {

"type" : "string"

},

"first_name" : {

"type" : "string"

},

"id" : {

"type" : "string",

"index" : "not_analyzed",

"omit_norms" : true,

"index_options" : "docs",

"include_in_all" : false

},

"last_name" : {

"type" : "string"

},

"role" : {

"type" : "string"

}

}

}

}

}

为什么不按Mapping.json文件中指定的方式创建书籍的映射?

回答:

请尝试一下

curl -XPUT 'http://localhost:9200/<indexname>/book/_mapping' -d @mapping.json

以上是 curl -X POST -d @ mapping.json +未创建映射 的全部内容, 来源链接: utcz.com/qa/407916.html

回到顶部