您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關如何進行Elasticsearch檢索分類,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
Elasticsearch中當我們設置Mapping(分詞器、字段類型)完畢后,就可以按照設定的方式導入數據。
有了數據后,我們就需要對數據進行檢索操作。
檢索子句的行為取決于查詢應用于過濾(filter)上下文還是查詢/分析(query)上下文。
過濾上下文——對應于結構化檢索
1)核心回答的問題是:“這個文檔是否符合這個查詢條款?”
2)答案是簡單的是或否,不計算分數。
3)過濾器上下文主要用于過濾結構化數據。類似于Mysql中判定某個字段是否存在:
例如:
時間戳字段:是否屬于2015年或2016年?
狀態字段:是否設置為“已發布”?
經常使用的過濾器將被Elasticsearch自動緩存,以加快性能。
分析上下文——對應于全文檢索
1)核心回答了“本文檔與此查詢子句是否匹配?”的問題。
2)除了決定文檔是否匹配之外,查詢子句還會計算一個_score,表示文檔與其他文檔的匹配程度。
綜合應用場景如下:
GET /_search { "query": { "bool": { "must": [ { "match": { "title": "Search" }}, { "match": { "content": "Elasticsearch" }} ], "filter": [ { "term": { "status": "published" }}, { "range": { "publish_date": { "gte": "2015-01-01" }}} ] } } }
以上檢索,title中包含"Search”并且content中包含 “Elasticsearch”,status中精確匹配”published”,并且publish_date 大于“2015-01-01”的全部信息。
以下,以“腦圖”的形式直觀展示檢索分類。
其中,3-7隨著我開發深入再做更新。
關于如何進行Elasticsearch檢索分類就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。