为什么这个错误发生 #
type_missing_exception 表示请求的类型在索引映射中不存在。在 Easysearch 7.x 及以后,不再支持显式的类型(type),每个文档的 “_type” 字段默认为 “_doc”。
如何修复 #
1. 移除类型引用 #
# 不要在 API 请求中指定类型
# 使用
POST /<index>/_doc/<id>
# 而不是(7.x 之前的语法)
POST /<index>/<type>/<id>
2. 更新代码 #
# Python 客户端
# 使用新的 API
es.index(index="<index>", id="<id>", document={"field": "value"})
# 而不是
es.index(index="<index>", doc_type="<type>", id="<id>", document={"field": "value"})
3. 查看文档时不需要类型 #
# 获取文档
GET /<index>/_doc/<id>
# 搜索
GET /<index>/_search
{
"query": { "match_all": {} }
}
预防措施 #
- 使用新版本 API





