# 空白搜索
搜索API最常用的一種形式就是_空白搜索_,也就是不加任何查詢條件的,只是返回集群中所有文檔的搜索。
~~~
GET /_search
~~~
返回內(nèi)容如下(有刪減):
~~~
{
"hits" : {
"total" : 14,
"hits" : [
{
"_index": "us",
"_type": "tweet",
"_id": "7",
"_score": 1,
"_source": {
"date": "2014-09-17",
"name": "John Smith",
"tweet": "The Query DSL is really powerful and flexible",
"user_id": 2
}
},
... 9 個結(jié)果被隱藏 ...
],
"max_score" : 1
},
"took" : 4,
"_shards" : {
"failed" : 0,
"successful" : 10,
"total" : 10
},
"timed_out" : false
}
~~~
### `hits`
返回內(nèi)容中最重要的內(nèi)容就是`hits`,它指明了匹配查詢的文檔的`總數(shù)`,`hits`數(shù)組里則會包含前十個匹配文檔——也就是搜索結(jié)果。
`hits`數(shù)組中的每一條結(jié)果都包含了文檔的`_index`, `_type`以及`_id`信息,以及`_source`字段。這也就意味著你可以直接從搜索結(jié)果中獲取到整個文檔的內(nèi)容。這與其他搜索引擎只返回給你文檔編號,還需要自己去獲取文檔是截然不同的。
每一個元素還擁有一個`_score`字段。這個是_相關(guān)性評分_,這個數(shù)值表示當前文檔與查詢的匹配程度。通常來說,搜索結(jié)果會先返回最匹配的文檔,也就是說它們會按照`_score`由高至低進行排列。在這個例子中,我們并沒有聲明任何查詢,因此`_score`就都會返回`1`
`max_score`數(shù)值會顯示所有匹配文檔中的`_score`的最大值。
### `took`
`took`數(shù)值告訴我們執(zhí)行這次搜索請求所耗費的時間有多少毫秒。
### `shards`
`_shards`告訴了我們參與查詢分片的總數(shù),以及有多少`successful`和`failed`。通常情況下我們是不會得到失敗的反饋,但是有的時候它會發(fā)生。如果我們的服務(wù)器突然出現(xiàn)了重大事故,然后我們丟失了同一個分片中主從兩個版本的數(shù)據(jù)。在查詢請求中,無法提供可用的備份。這種情況下,Elasticsearch就會返回`failed提示,但是它還會繼續(xù)返回剩下的內(nèi)容。
### `timeout`
`timed_out`數(shù)值告訴了我們查詢是否超時。通常,搜索請求不會超時。如果相比完整的結(jié)果你更需要的是快速的響應(yīng)時間,這是你可以指定`timeout`值,例如`10`、`"10ms"`(10毫秒)或者`"1s"`(1分鐘):
~~~
GET /_search?timeout=10ms
~~~
Elasticsearch會盡可能地返回你指定時間內(nèi)它所查到的內(nèi)容。
> ### Timeout并不是終止者
這里應(yīng)該強調(diào)一下`timeout`并不會終止查詢,它只是會在你指定的時間內(nèi)返回_當時_已經(jīng)查詢到的數(shù)據(jù),然后關(guān)閉連接。在后臺,其他的查詢可能會依舊繼續(xù),盡管查詢結(jié)果已經(jīng)被返回了。
使用超時是因為你要保障你的品質(zhì),并不是因為你需要終止你的查詢。
- Introduction
- 入門
- 初識
- 安裝
- API
- 文檔
- 索引
- 搜索
- 匯總
- 小結(jié)
- 分布式
- 本章總結(jié)
- 分布式集群
- 空集群
- 集群健康
- 添加索引
- 容錯移轉(zhuǎn)
- 橫向擴展
- 擴展
- 故障恢復
- 索引
- 文檔
- Get
- 存在
- 更新
- 創(chuàng)建
- 刪除
- 版本控制
- 局部更新
- Mget
- Bulk
- 總結(jié)
- 分布式文檔存儲
- 路由
- 主從互通
- 創(chuàng)建索引刪除
- 獲取
- 局部更新
- 批量請求
- 批量格式
- 搜索
- 空白搜索
- 多索引多類型
- 分頁
- 查詢語句
- 映射與統(tǒng)計
- Exact_vs_full_text
- Inverted_index
- Analysis
- Mapping
- Complex_datatypes
