主要知識點
1、對搜尋執行結果的說明2、
timeout
機制講解
一、對執行 get /_search 的結果的說明
執行結果如下(只保留部分)
,"hits":
},以下說明各個欄位的含義:1、
took
:整個搜尋請求花費了多少毫秒2、
hits.total
:本次搜尋,返回了多少條結果3、
hits.max_score
document
對於search
的相關度,越相關,
_score
分數越大,排位越靠前4、
hits.hits
:預設查詢前
10條資料,完整資料,
_score
降序排序5、
shards
:表示本次搜尋過程中的
shards
資訊。total
表示本次搜尋請求一共路由到多少個
shards
中,"successful":
表示這些路由到的shards中有多少個是成功了的
,"failed":
表示這些路由到的shards中有多少個是失敗了的。
shards fail
的條件(
primary
和replica
全部掛掉),不影響其他
shard
。預設情況下來說,乙個搜尋請求,會路由到乙個
index
的所有primary shard
上去,每個
primary shard
都可能會有乙個或多個
replic shard
,所以請求也可以到
primary shard
的其中乙個
replica shard
上去。6
、"hits"
乙個資料,此次搜尋返回的資料,預設返回
10條,以
_score
降序排序
二、timeout機制
在預設情況下,es並無timeout,如果某一次搜尋特別慢,要花5分鐘才能完成,那es也會等5分鐘搜尋完成之後才返回結果,這種情況下對於那些對時間敏感的應用很不利,timeout機制指定每個shard只能在timeout所指定的時間內將已搜尋到的結果返回(可能是部分資料),這樣就可以確保每次搜尋都能在指定的timeout時間內返回資料,
舉例說明,假如有
6個shard,對某一次搜尋請求每個shard都返回1000條資料,都會花費100秒。如果指定了timeout=1s,那些es會在1秒後返回60條資料(10*6)。
可以在查詢時指定timeout值
get /_search?timeout=10m
timeout=10ms
(毫秒),
timeout=1s
(秒),
timeout=1m
(分)
搜尋引擎(一) 初識
搜尋引擎是網際網路應用中技術含量最高的應用之一。使用者通過輸入查詢詞,搜尋引擎返回搜尋結果,應用形式看似簡單,但如何從百億量的網際網路資料資料中準確且高效的獲得使用者想要的搜尋資訊,也是不小的挑戰。因此,更全 更快 更準 便是搜尋引擎技術的最終目標。對於搜尋引擎來說,更快 更全 是其餘其他同類產品競...
41 初識搜尋引擎 Query DSL搜尋語法
搜尋內容在中的就是query dsl搜尋,如 get search 1 語法 2 示例 get test index test type search 結果 hits 舉例說明 1 建立測試document資料 hits 2 搜尋需求 title必須包含elasticsearch,content可以...
搜尋引擎 索引
正排索引 文件編號,單詞編號,單詞的數量,單詞出現的位置。倒排索引 1,單詞詞典,儲存單詞以及統計資訊,單詞在記錄表中的便宜,可常駐記憶體,用雜湊表儲存。2,記錄表,單詞對應的文件集合,記錄單詞出現的數目 位置。文件採用差分變長編碼。其中文件可按編號公升序排列 可利用差分編碼 也可按出現次數排列,可...