我正在使用 es 6.8 和 elasticvue(作为 firefox 插件)
我创建了一个索引:
put /q1
{
"mappings": {
"my_type": {
"properties": {
"name" : {"type" : "text"},
"last" : {"type": "text"},
"age" : {"type": "integer"}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
并放一些数据:
post /q1/my_type
{
"name" : "miki",
"last" : "elk",
"age" : "35"
}
Run Code Online (Sandbox Code Playgroud)
当我尝试搜索时:
get /q1/_search
{
"query" : {
"term" : { "name" : "miki" }
}
}
Run Code Online (Sandbox Code Playgroud)
我收到错误:
"error": {
"root_cause": [
{
"type": "illegal_argument_exception",
"reason": "request [/q1/_search] contains unrecognized parameter: [query]"
}
],
"type": "illegal_argument_exception",
"reason": "request [/q1/_search] contains unrecognized parameter: [query]"
},
"status": 400
Run Code Online (Sandbox Code Playgroud)
出了什么问题,我该如何解决?
当错误的 GET 参数发送到服务器时,可能会发生此错误。假设您正在使用elasticvuefirefox 插件,并且您正在使用查询选项卡:
您可以将 GET 方法更改为 POST 方法,它应该可以正常工作。elasticvue在这里使用 GET 方法似乎有一些问题。查看 firefox 中的开发者网络工具,请求将发送到以下 URL:
http://localhost:9200/q1/_search?query=%5Bobject%20Object%5D
这显然是错误的,它将您的查询作为名为 query 的 GET 参数发送!没有这样的 GET 参数,它应该将查询作为请求的主体而不是它的参数发送。使用 POST 是一种替代方法,Elasticsearch API 允许使用它。您也可以将 kibana 用作官方的强大工具。
| 归档时间: |
|
| 查看次数: |
3906 次 |
| 最近记录: |