我已经使用给定的索引和类型将项目放入ElasticSearch。我该如何检索它?
详细说明:
official documentation说明了这一点:
GET /_search
{
"query": {
"type" : {
"value" : "_doc"
}
}
}
但我不明白。我该怎么办?
我试图像这样运行它,但它不起作用:
curl XGET 'http://localhost:9200/disney/_search' -d '
{
"query": {
"type" : {
"value" : "disneytype"
}
}
}'
这会引发错误:
Invoke-WebRequest : A positional parameter cannot be found that accepts argument
'http://localhost:9200/disney/_search'.
At line:1 char:1
+ curl XGET 'http://localhost:9200/disney/_search' -d '
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Invoke-WebRequest], ParameterBindingException
+ FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
任何想法如何正确运行?
答案 0 :(得分:1)
您获得的错误与Elasticsearch无关。这是PowerShell的一些问题。将cURL
来电替换为Invoke-WebRequest
:
Invoke-WebRequest -Method 'POST' -Uri 'http://localhost:9200/_search' -ContentType "application/json" -Body '
{
"query": {
"type": {
"value": "disneytype"
}
}
}'
我个人更喜欢使用Kibana来发现我的ES索引。它更方便。
答案 1 :(得分:0)
另一种方法是像这样内联运行:
curl.exe -XGET --data-binary '{ "query": { "type" : { "value" : "disneytype" }, studioid: "AAAAA" } }' -H 'content-type: application/json;' http://localhost:9200/