宣告:本文僅僅只是記個筆記
搜尋方式
took :耗費了幾毫秒
timed_out:是否超時,這裡沒有
_shareds: 資料拆成1哥分片,所以對於搜尋請求,會打造所有的primary shard (或者是它的某個replica shard也可以)
hits.total :查詢結果的數量,這裡有 3 個 document
max_score : score的含義就是document對於乙個search的相關度的匹配分數,越相關,就越匹配,分數也越高
hist.hits:包含了匹配搜尋的document的詳細資料
結果:
, "hits" : ,
"max_score" : 1.0,
"hits" : [
},},}]
}}
搜尋商品名中包含yagao的商品,而且按照售價降序排序:get /ecommerce/product/_search?q=name:yagao&sort=price:desc
適用於臨時的在命令列使用的一些工具,比如curl ,快速的發出請求,來檢索想要的資訊;但是如果查詢請求很複雜,是很難去構建在生產環境中,幾乎很好使用 query string search
dsl : domain specific language 特定領域的語言
1) 查詢所有商品
get /ecommerce/product/_search
}}
2) 按條件查詢
get /ecommerce/product/_search
},"sort":[
]}
3)分頁查詢
先查詢所有,再看顯示哪條
from :從哪條開始
size : 顯示幾條
get /ecommerce/product/_search
},"from": 1,
"size": 1
}
4)指定要查詢出來的商品名稱和**
get /ecommerce/product/_search
},"_source": ["name","price"]
}
搜尋商品名稱包含yagao,而且售價大於25的商品
get /ecommerce/product/_search
},"filter": }}
}}}
producer 欄位會 先被拆除,後建立倒排索引
get /ecommerce/product/_search
}}
結果:
,
"hits" : ,
"max_score" : 1.1522135,
"hits" : [
},},},}
]}}
跟全文搜尋相對應,相反,全文檢索會將輸入的搜尋串拆解開來,去倒排索引裡面去一一匹配,只要能匹配上任意乙個拆解後的單詞,就可以作為結果返回,phrase search 要求輸入的搜尋串,必須在指定的字段文字中,完全包含一模一樣的,才可以算匹配,才能作為結果返回。
get /ecommerce/product/_search
}}
高亮凡是匹配的詞在結果中都標紅
get /ecommerce/product/_search
},"highlight":
}}}
結果:
#! deprecation: [types removal] specifying types in search requests is deprecated.
, "hits" : ,
"max_score" : 0.110377684,
"hits" : [
,"highlight" : },,
"highlight" : },,
"highlight" : },,
"highlight" : }]
}}
Elasticsearch 條件搜尋
es提供了兩種搜尋的方式 請求引數方式和請求體方式。請求引數方式 curl localhost 9200 bank search?q pretty 其中bank是查詢的索引名稱,q後面跟著搜尋的條件 q 表示查詢所有的內容 請求體方式 推薦這種方式 curl xpost localhost 9200...
Elasticsearch 深入搜尋
結構化搜尋 structured search 是指有關探詢那些具有內在結構資料的過程 在結構化查詢中,我們得到的結果 總是非是即否,要麼存於集合之中,要麼存在集合之外。結構化查詢不關心檔案的相關度或評分 它簡單的對文件包括或排除處理。當進行精確值查詢時,我們會使用過濾器 filters term ...
Elasticsearch 搜尋資料
elasticsearch 修改資料 elasticsearch 搜尋資料 現在我們已經了解了基本知識,讓我們嘗試使用更真實的資料。我們提供了一些虛構的客戶銀行賬戶資訊,格式如下所示 curl localhost 9200 cat indices?v 響應 health status index u...