首页 新闻 会员 周边 捐助

elasticsearch mapping的问题

0
[已解决问题] 解决于 2020-12-15 14:17

先感谢一个园子里面的各位老师,整个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."}

暖暖De幸福的主页 暖暖De幸福 | 初学一级 | 园豆:8
提问于:2020-12-14 11:06
< >
分享
最佳答案
0

你的操作顺序是否存在问题
比如你没建映射加数据,此时会自动建立映射

从空白开始如下的方式是没有问题的
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

奖励园豆:5
2012 | 高人七级 |园豆:21645 | 2020-12-14 18:53

好的,我重新试试

暖暖De幸福 | 园豆:8 (初学一级) | 2020-12-15 14:16
其他回答(3)
0

把索引的play_name type改成text

不知道风往哪儿吹 | 园豆:2037 (老鸟四级) | 2020-12-14 13:35

就是这个问题,我就是想为什么不能设置成 keyword,两个不是都能存储字符串吗?

支持(0) 反对(0) 暖暖De幸福 | 园豆:8 (初学一级) | 2020-12-14 14:05

@暖暖De幸福: 你是不是有其他索引,也有play_name的但是不是keyword类型的

支持(0) 反对(0) 不知道风往哪儿吹 | 园豆:2037 (老鸟四级) | 2020-12-14 15:12

@不知道风往哪儿吹: 没有这是新搭建的环境,我是照着官方的文档来的。 到了那 一步就出错了

https://www.elastic.co/guide/cn/kibana/current/tutorial-load-dataset.html
支持(0) 反对(0) 暖暖De幸福 | 园豆:8 (初学一级) | 2020-12-14 15:14
0

keywork 不会进行分词,查询的时候整体查询,必须等于才可以
text 会分词,支持关键词查询

大志若愚 | 园豆:2138 (老鸟四级) | 2020-12-14 18:37
0

我尝试了一下,是没有问题的,你可以查看一下你现在的mapping情况

编程小大白 | 园豆:530 (小虾三级) | 2020-12-15 10:58
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册