elasticsearch 搜尋方式

2021-09-22 18:20:29 字數 2122 閱讀 2094

宣告:本文僅僅只是記個筆記

搜尋方式

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...