term主要用於精確匹配哪些值,比如數字,日期,布林值或 not_analyzed 的字串(未經切詞的文字資料型別):}}
完整的例子, hostname 字段完全匹配成 saaap.wangpos.com 的資料:}}
terms 跟 term 有點類似,但 terms 允許指定多個匹配條件。 如果某個字段指定了多個值,那麼文件需要一起去做匹配:
}完整的例子,所有文章標題是 內蒙古 或黑龍江的 的,}}
range過濾允許我們按照指定範圍查詢一批資料:}}
範圍操作符包含:
乙個完整的例子, 查詢發表時間在2017-06-25和2017-07-01之間的資料}}
}exists 和 missing 過濾可以用於查詢文件中是否包含指定欄位或沒有某個字段,類似於sql語句中的is_null條件.
}這兩個過濾只是針對已經查出一批資料來,但是想區分出某個字段是否存在的時候使用。
bool 過濾可以用來合併多個過濾條件查詢結果的布林邏輯,它包含一下操作符:
這些引數可以分別繼承乙個過濾條件或者乙個過濾條件的陣列:
},"must_not": },
"should": [},}
]}}可以查詢到所有文件,是沒有查詢條件下的預設語句。
}此查詢常用於合併過濾條件。 比如說你需要檢索所有的郵箱,所有的文件相關性都是相同的,所以得到的_score為1.
match查詢是乙個標準查詢,不管你需要全文本查詢還是精確查詢基本上都要用到它。
如果你使用 match 查詢乙個全文本欄位,它會在真正查詢之前用分析器先分析match一下查詢字元:}}
如果用match下指定了乙個確切值,在遇到數字,日期,布林值或者not_analyzed 的字串時,它將為你搜尋你給定的值:}}
}match查詢只能就指定某個確切字段某個確切的值進行搜尋,而你要做的就是為它指定正確的欄位名以避免語法錯誤。
multi_match查詢允許你做match查詢的基礎上同時搜尋多個字段,在多個欄位中同時查乙個:}}
查詢文章標題和內容包含烏魯木齊的資料
bool 查詢與 bool 過濾相似,用於合併多個查詢子句。不同的是,bool 過濾可以直接給出是否匹配成功, 而bool 查詢要計算每乙個查詢子句的 _score (相關性分值)。
以下查詢將會找到 title 欄位中包含 "how to make millions",並且 "tag" 字段沒有被標為 spam。 如果有標識為 "starred" 或者發布日期為2023年之前,
},"must_not": },
"should": [
},}}]}
}使用標準的shell萬用字元查詢
以下查詢能夠匹配包含w1f 7hw和w2f 8hw的文件:
"query": }}
又比如下面查詢 hostname 匹配下面shell萬用字元的:}}
get /my_index/address/_search}}
這個正規表示式的規定了詞條需要以w開頭,緊跟著乙個0到9的數字,然後是乙個或者多個其它字元。
下面例子是所有以 wxopen 開頭的正則}}
以什麼字元開頭的,可以更簡單地用 prefix,如下面的例子:}}
當你需要尋找鄰近的幾個單詞時,你會使用match_phrase查詢:}}
和match查詢類似,match_phrase查詢首先解析查詢字串來產生乙個詞條列表。然後會搜尋所有的詞條,
但只保留含有了所有搜尋詞條的文件,並且詞條的位置要鄰接。
match_phrase查詢也可以寫成型別為phrase的match查詢:}}
}搜尋結果如
ES查詢語句
1.萬用字元查詢keyword欄位 不會建分詞索引,會建索引 2.刪除並釋放磁碟空間 post monitor delete by query 1.查詢你要刪除的doc資料 以2019 5 18 00 00 00時間節點和time欄位為例 具體 如下 monitor search post 2.手動...
ES簡單介紹
elasticsearch簡寫es,es是乙個高擴充套件 開源的全文檢索和分析引擎,它可以準實時地快速儲存 搜尋 分析海量的資料。es除了全文搜尋引擎之外,還可以這樣描述它 1 分布式的實時檔案儲存,每個欄位都被索引並可被搜尋 2 分布式的實時分析搜尋引擎 3 可以擴充套件到成百上千臺伺服器,處理p...
控制語句的介紹
流程控制語句是用來控制程式中各語句執行順序的語句,流程控制語句是整個程式的核心。它在程式中起到的作用是控制程式中各語句執行的順序。控制語句中呢可以分為三類,實際是兩類。第一類是順序結構 第二類是選擇結構 第三類是迴圈結構。1.順序結構 代表 先執行a,在執行b 的邏輯。它就是乙個天然的順序它就是給你...