Elasticsearch报错:no handler found for uri及PUT请求问题求助
解决Elasticsearch PUT请求报错"no handler found for uri"的问题
错误原因
你用的请求格式是Elasticsearch 6.x及更早版本的语法,7.x及后续版本已经彻底移除了映射类型(也就是你请求里的car),这种包含类型的URI会被判定为无效路径,所以触发了找不到处理器的错误。
修正后的请求代码
方式1:使用_doc端点(支持创建/更新文档)
如果目标文档不存在就创建,存在则直接更新内容:
PUT /vehicles/_doc/01?pretty { "make": "Lexus", "color": "Black", "HP": 300 }
方式2:使用_create端点(仅创建新文档)
如果文档ID已存在则报错,确保只创建全新文档:
PUT /vehicles/_create/01?pretty { "make": "Lexus", "color": "Black", "HP": 300 }
额外注意
如果vehicles索引还未创建,Elasticsearch默认会自动帮你创建(前提是开启了自动创建索引功能)。如果自动创建索引被禁用,需要先手动创建索引:
PUT /vehicles?pretty
内容的提问来源于stack exchange,提问作者Sohaib
相关产品推荐
相关产品推荐

