1

我正在使用 Elasticsearch 来索引和搜索我的数据库...

  1. 如何验证数据库是否已编入索引?
  2. 如果我使用以下命令:

    curl -XGET ' http://localhost:9200/_search?q=whatever '

结果是:

{
  "took": 4,
  "timed_out": false,
  "_shards": {
    "total": 6,
    "successful": 6,
    "failed": 0
  },
  "hits": {
    "total": 0,
    "max_score": null,
    "hits": []
  }
}

应该如何解释这些结果?

4

2 回答 2

1

您可以使用该命令获取数据库中存在的索引列表。您可以查看您的索引是否存在于列表中。这表明索引已经创建。

curl -XGET 'localhost:9200/_cat/indices?v&pretty'

检查您的索引中是否存在任何条目。您可以使用此命令获取所有文档的列表。

curl -XGET 'localhost:9200/INDEX_NAME/_search?v&pretty'

在您发布的问题中。"_shards" { "total" : 给出你的索引中有多少条目 (这里是 6) } "hits" : { "total" : 给出与你的搜索匹配的条目无论什么 (这里是 0) }

于 2017-02-15T10:46:15.920 回答
0
  1. 要检查您的数据库是否已被索引,您可以尝试以下命令:

    curl -XGET 'http://localhost:9200/_aliases'?pretty=true 您可以在其中查看索引列表并检查您的索引是否已被索引。

  2. 您使用的命令基本上在所有索引中搜索关键字“whatever”。但它什么也找不到。因此,您会得到以下输出:搜索成功(由“took”:4、“timed_out”:false、“_shards”:“total”:6、“successful”:6、“failed”:0} 描述)但是它没有找到任何东西(由 "hits":{"total":0,"max_score":null,"hits":[]} 描述)

于 2013-07-03T19:33:01.527 回答