日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

01.query的分类-条件查询和组合查询

發布時間:2024/2/28 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 01.query的分类-条件查询和组合查询 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • 1. es單個條件查詢和組合查詢
    • 2.query和filter context
      • 1. query context
      • 2. filter context
    • 3.使用樣例

1. es單個條件查詢和組合查詢

es的query DSL(Domain Specific Language),都是json格式,一般分為兩大類

1.單個條件查詢
這種一般是針對index中的某一個field進行個別value的查詢,比如 mathc,term,range 查詢等等。這些查詢一般可以獨立使用。

2.組合查詢
這種查詢一般是將單個條件的查詢組合起來,只是起到組合的作用,比如bool, dis_max 查詢,或者是修改查詢的一些查詢比如constant_score查詢

2.query和filter context

默認情況下,Elasticsearch按相關性得分對匹配的搜索結果進行排序,以衡量每個文檔與查詢的匹配程度。
相關性分數是一個正浮點數,在搜索API的_score元字段中返回。 _score越高,文檔越相關。盡管每種查詢類型可以用不同的方式地計算相關性分數,但是分數計算還取決于查詢子句是在query context中還是在filter context中運行。

1. query context

在query context中,查詢子句回答以下問題:“此文檔與該查詢子句的匹配程度如何?”除了確定文檔是否匹配之外,查詢子句還計算_score元字段中的相關性得分。

只要將查詢子句傳遞到query參數(例如搜索API中的query參數),query context就有效。

2. filter context

在filter context中,查詢子句回答問題“此文檔是否與此查詢子句匹配?”答案是簡單的“是”或“否”,即不計算分數。filter context主要用于過濾結構化數據,例如下面的過濾:

  • timestamp 字段是否在2015年至2016年的范圍內?
  • status 狀態字段設置為“已發布”嗎?
  • 常用過濾器將由Elasticsearch自動緩存,以提高性能。
    只要將查詢子句傳遞到過濾器參數(例如bool查詢中的filter或must_not參數,constant_score查詢中的filter參數或過濾器聚合),filter context即有效。這一句也說明了filter context的使用場景。

    3.使用樣例

    GET /_search {"query": { # 對應的query標識了一個query context"bool": { # bool和對應的math都是對應了query context"must": [{ "match": { "title": "Search" }}, { "match": { "content": "Elasticsearch" }} ],"filter": [ # 這里filter標識了一個filter context,下面的term,range都是在filter context中,不會影響score的計算 { "term": { "status": "published" }}, { "range": { "publish_date": { "gte": "2015-01-01" }}} ]}} }

    這個查詢要求下面的條件都要滿足

  • tiele field中有 “Search” 單詞
  • content field中有 Elasticsearch 單詞
  • status field 嚴格等于published
  • publish_date 的日期大于 “2015-01-01”
  • 總結

    以上是生活随笔為你收集整理的01.query的分类-条件查询和组合查询的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。