短語搜索
更新時間 2024-09-10 15:33:11
最近更新時間: 2024-09-10 15:33:11
分享文章
短語搜索用于準確匹配目標短語,例如搜索語句abc def,不區分先后順序,將匹配所有同時包含abc和def的日志。短語搜索和關鍵詞搜索的區別請參考表1。
-
短語搜索:在關鍵詞搜索語法的基礎上實現,短語搜索能夠區分關鍵詞的順序,用于精準匹配目標短語,搜索結果更加精確。短語搜索適用于英文短語、中文短語的搜索,不支持模糊搜索。
-
關鍵詞搜索:關鍵詞搜索是基于分詞實現,通過分詞符先將搜索內容拆分為多個關鍵詞,然后匹配日志。關鍵詞搜索不會區分多個關鍵詞在日志中出現的順序,因此只要日志中按照搜索的與或非邏輯能命中關鍵詞,該日志就會被搜索到。
表 1 搜索區別
搜索方式 短語搜索 關鍵字搜索 搜索區別 區分關鍵詞的順序,用于精準匹配目標短語,搜索結果更加精確。 不區分關鍵詞的順序,按照搜索邏輯命中關鍵詞即可。 舉例說明1 假設您的日志流中存在2條原始日志,如下:
原始日志1:this service is lts
原始日志2:lts is service舉例說明2 短語搜索:#"is lts",會命中1條日志。 關鍵詞搜索:is lts,會命中2條日志。 舉例說明3 短語搜索:#"lts is",會命中1條日志。 關鍵詞搜索:lts is,會命中2條日志。
搜索語法
表 2 搜索方式
| 搜索方式 | 說明 |
|---|---|
| 全文搜索 | #"abc def"content:#"abc def"content為日志原文對應的內置字段,**#"abc def"**等同于**content:#"abc def"**,默認匹配日志原文的內容。 |
| 字段搜索 | key:#"abc def"value參數不可為空。字段搜索和not運算符配合使用時,還會匹配到不包含該字段的日志。 |
使用限制
-
短語搜索不支持搭配模糊搜索。
短語搜索中的星號(*)和問號(?)會被視為普通字符,因此短語搜索不支持搭配模糊搜索,可以用來搜索日志中的星號(*)和問號(?)。
-
短語搜索不支持對分詞符進行搜索。
例如搜索語句**#"var/log",其中 / 為分詞符,搜索語句等同于#"var log",會搜索包含目標短語var log的日志。同理,搜索語句#"var:log"、#"var;log"等搜索的也是包含目標短語var log**的日志。
-
中文搜索推薦采用短語搜索。
由于中文默認采用的是一元分詞,每個漢字單獨分詞,搜索時會匹配同時包含搜索語句中每一個漢字的日志,本身便具有模糊搜索的特性,當需要更加精確的結果時,推薦采用短語搜索。
示例說明
表 3 搜索說明
| 搜索需求 | 搜索語句 |
|---|---|
| 搜索User-Agent字段值包含短語Mon, 17 Apr 2023的日志。 | User-Agent:#"Mon, 17 Apr 2023" |
| 搜索User-Agent字段值包含短語Mozilla/5.0的日志。 | User-Agent:#"Mozilla/5.0" |
| 搜索week字段值包含短語星期一的日志。 | week:#"星期一" |
