热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

elasticsearchmapping的问题

问题先感谢一个园子里面的各位老师,整个BBS的氛围非常好,也让我学到了很多东西,解决了不少的问题。下面是我一个关于es的问题。还请老师们继续能帮我解决一下。感激不尽我是先添加了一

问题


先感谢一个园子里面的各位老师,整个BBS的氛围非常好,也让我学到了很多东西,解决了不少的问题。下面是我一个关于es的问题。还请老师们继续能帮我解决一下。感激不尽

我是先添加了一个 mapping。

然后我添加数据时却一直报错

{
"index" : {
"_index" : "shakespeare",
"_type" : "doc",
"_id" : "1",
"status" : 400,
"error" : {
"type" : "illegal_argument_exception",
"reason" : "mapper [play_name] cannot be changed from type [keyword] to [text]"
}
}
}

数据是从官方网站下载的,在没有添加 mapping 的情况下, 我直接添加数据可以添加成功,不过有了 mapping之后,再添加数据,就一直报这个错误。

这个是我的数据

{"index":{"_index":"shakespeare","_id":0}}
{"type":"act","line_id":1,"play_name":"Henry", "speech_number":"","line_number":"","speaker":"","text_entry":"ACT I"}
{"index":{"_index":"shakespeare","_id":1}}
{"type":"scene","line_id":2,"play_name":"Henry","speech_number":"","line_number":"","speaker":"","text_entry":"SCENE I. London. The palace."}



最佳回答


你的操作顺序是否存在问题

比如你没建映射加数据,此时会自动建立映射

从空白开始如下的方式是没有问题的

curl -XPUT "localhost:9200/shakespeare" -H 'Content-Type: application/json' -d'

{

"mappings": {

"properties": {

"speaker": {"type": "keyword"},

"play_name": {"type": "keyword"},

"line_id": {"type": "integer"},

"speech_number": {"type": "integer"}

}

}

}

'

curl -H 'Content-Type: application/x-ndjson' -XPOST 'localhost:9200/shakespeare/_bulk?pretty' --data-binary @esdata/shakespeare_6.0.json



推荐阅读
author-avatar
氤氲微凉521
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有