這篇文章將為大家詳細講解有關如何進行Elasticsearch檢索分類,文章內(nèi)容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:域名與空間、網(wǎng)站空間、營銷軟件、網(wǎng)站建設、霍山網(wǎng)站維護、網(wǎng)站推廣。
Elasticsearch中當我們設置Mapping(分詞器、字段類型)完畢后,就可以按照設定的方式導入數(shù)據(jù)。
有了數(shù)據(jù)后,我們就需要對數(shù)據(jù)進行檢索操作。
檢索子句的行為取決于查詢應用于過濾(filter)上下文還是查詢/分析(query)上下文。
過濾上下文——對應于結構化檢索
1)核心回答的問題是:“這個文檔是否符合這個查詢條款?”
2)答案是簡單的是或否,不計算分數(shù)。
3)過濾器上下文主要用于過濾結構化數(shù)據(jù)。類似于MySQL中判定某個字段是否存在:
例如:
時間戳字段:是否屬于2015年或2016年?
狀態(tài)字段:是否設置為“已發(fā)布”?
經(jīng)常使用的過濾器將被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隨著我開發(fā)深入再做更新。
關于如何進行Elasticsearch檢索分類就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。