0

我已经用给定的索引和类型将一个项目放入 ElasticSearch 中。我该如何找回它?

细节:

官方文档说明了这一点:

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

任何想法如何正确运行它?

4

2 回答 2

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 索引。它更方便。

于 2018-03-06T20:59:20.583 回答
0

另一种方法是像这样内联运行它:

curl.exe -XGET --data-binary '{ "query": { "type" : { "value" : "disneytype" }, studioid: "AAAAA" } }' -H 'content-type: application/json;' http://localhost:9200/
于 2018-03-13T13:20:06.413 回答