es搜索-響應結果說明

響應結果說明

示例:

<code>GET http://localhost:9200/superz/_search/<code>

得到的響應結果一般如下所示:

<code>{ "took": 2, "timed_out": false, "_shards": { "total": 5, "successful": 5, "skipped": 0, "failed": 0 }, "hits": { "total": 1, "max_score": 1.0, "hits": [ { "_index": "superz", "_type": "test", "_id": "FSkX53ABV-8UrARgh4Dt", "_score": 1.0, "_source": { "name": "superz1", "sex": "男", "note": "this is a demo1" } } ] }}/<code>

took

took 值反映執行整個搜索請求耗費了多少毫秒

timed_out

timed_out 值反映查詢是否超時。默認情況下,搜索請求不會超時。如果低響應時間比完成結果更重要,則可以指定 timeout:

<code>GET http://localhost:9200/superz/_search?timeout=10ms/<code>

在請求超時之前,elasticsearch 將會返回已經成功從每個分片獲取的結果。

注意:應當注意的是 timeout 不是停止執行查詢,它僅僅是告知正在協調的節點返回到目前為止收集的結果並且關閉連接。在後臺,其他的分片可能仍在執行查詢即使是結果已經被髮送了。

_shards

_shards 部分返回的是在查詢中參與分片的總數,以及這些分片成功了多少個,失敗了多少個。正常情況下用戶不希望分片失敗,但是分片失敗是可能發生的。如果用戶遭遇到一種災難級別的故障,在這個故障中丟失了相同分片的原始數據和副本,那麼對這個分片將沒有可用副本來對搜索請求作出響應。假若這樣,Elasticsearch 將報告這個分片是失敗的,但是會繼續返回剩餘分片的結果。

hits

返回結果中最重要的部分就是 hits,它包含的 total 字段來表示匹配到的文檔總數,並且一個 hits 數組包含所查詢結果的前十個文檔(在未使用分頁的情況下)。

在 hits 數組中每個結果包含文檔的 _index 、 _type 、 _id ,加上 _source 字段。這意味著用戶可以直接從返回的搜索結果中使用整個文檔。

每個結果還有一個 _score ,它衡量了文檔與查詢的匹配程度。默認情況下,首先返回最相關的文檔結果,就是說,返回的文檔是按照 _score 降序排列的。

max_score 值是與查詢所匹配文檔的 _score 的最大值。


分享到:


相關文章: