elasticsearch 複雜查詢小記

2022-08-02 03:18:13 字數 863 閱讀 6505

以下介面呼叫都基於5.5版本

json 文件格式

},},}]

},"fields": ,

"sort": [

1504686226897]

}

1.or條件查詢格式

should條件的意思就只要匹配到裡面其中乙個條件就可以命中, 如

只要traceid等於其中乙個值就可以命中

2.and 條件查詢格式

must條件的意思就是必須匹配裡面的所有條件才可以命中,如

必須匹配traceid=6edb691b4bc775b1, 並且時間範圍在1504581280866000,1504581280878000

3.是否含有某key

"must_not":  }

意思是查詢必須沒有parenid這個key的資料

ps: 不管是must,should,must_not都是平級的,包含在bool裡面

4.巢狀查詢

nested巢狀查詢和其他match,range條件一樣,是包含在must,should這些條件裡面

},}] } }}}

我們的json文件裡有binaryannotations這個key, 而value是乙個陣列, 巢狀查詢必須指定path,在我們這裡就是binaryannotations,然後裡面再使用query查詢,query裡面的語法和外層的一樣

5.復合條件巢狀查詢

假設我們要查詢binaryannotations  裡面兩個並行的條件

6.去重查詢

去重要使用aggs 語句,和query查詢平級,這裡的意思是獲取name=query 的記錄並且用traceid去重

elasticsearch配置詳解

elasticsearch的config資料夾裡面有兩個配置檔案 elasticsearch.yml和logging.yml,第乙個是es的基本配置檔案,第二個是日誌配置檔案,es也是使用log4j來記錄日誌的,所以logging.yml裡的設定按普通log4j配置檔案來設定就行了。下面主要講解下e...

誰在使用Elasticsearch

github github使用elasticsearch搜尋20tb的資料,包括13億的檔案和1300億行的 這個不用介紹了吧,碼農們都懂的,github在2013年1月公升級了他們的 搜尋,由solr轉為elasticsearch,目前集群規模為26個索引儲存節點和8個客戶端節點 負責處理搜尋請求...

elasticsearch配置說明

elasticsearch.yml是elasticsearch主要的配置檔案,所有的配置都在這個檔案裡完成,一般情況下,預設的配置已經可以比較好地執行乙個集群了,但你也可以對其進行微調。在環境變數中的引數可以用來作為配置引數的值,比如配置檔案裡舉的乙個例子為 node.rack 再比如 等。下面對其...