全部產品
Search
文件中心

Simple Log Service:短語查詢

更新時間:Jun 27, 2026

本文介紹短語查詢的文法、使用限制和樣本。

概述

Log Service查詢採用的是分詞法,短語查詢匹配的是分詞後的詞元序列及其相鄰位置,不是對原始字串做逐字元匹配。例如查詢語句為abc def,將匹配所有包含abcdef的日誌,不區分先後順序,無法精準匹配目標短語。現在Log Service推出短語查詢,用於精準匹配一段短語。

說明

如果短語中的標點符號屬於當前索引配置的分詞符,這些標點僅用於切分詞元,不作為短語匹配內容。例如逗號#"aa,bb"、方括弧#"[aa bb]"和空格#",aa bb,"均為分詞符時,會被解析為相同的詞元序列 aabb,因此查詢結果一致。若相關標點未配置為分詞符,或欄位使用了不同的分詞配置,則查詢結果可能不同。

Log Service接收到短語查詢請求後,執行流程主要分為如下兩步:

  1. 先執行對應的非短語查詢語句進行日誌查詢。例如執行#"abc def"語句,實際先執行"abc def"語句。

    說明

    為避免查詢量太大,目前執行短語查詢時,限制步驟1最多返回10,000條結果。

  2. 在上述查詢結果中再挑選符合短語查詢條件的日誌,並返回最終的查詢結果。

文法

說明
  • 欄位查詢

    key:#"abc def"
  • 全文檢索查詢

    #"abc def"

使用限制

  • 短語查詢的結果只支援向前、向後的連續翻頁,不支援隨機跳轉。

  • 執行短語查詢後,日誌分布長條圖展示的是非短語查詢的結果。

  • 短語查詢不支援搭配模糊查詢。

  • 短語查詢語句中必須添加半形雙引號("")。

  • 短語查詢語句中不支援搭配not語句,即不支援not #"abc def"

  • 短語查詢語句中不支援搭配分析語句,即不支援#"abc" | select ***。因此使用短語查詢時,也不支援快速分析功能。

翻頁說明

當您執行一次翻頁操作時,Log Service會對應執行一次短語查詢操作,用於保證查詢結果的連續性。

短語查詢每次最多查詢10,000條日誌,在翻頁過程中,可能出現某頁中顯示的日誌數量少於每頁顯示對應的數量,但仍支援向後翻頁。即表示當前查詢的10,000條日誌中,滿足短語查詢條件的日誌數量少於每頁顯示對應的數量。

例如日誌總數為20,000條,每頁支援顯示100條,當您執行一次短語查詢後,只返回89條且向後翻頁功能可用,此時說明前10,000條日誌中只有89條日誌滿足短語查詢條件。您可以執行翻頁操作,Log Service會自動在後10,000條日誌中,執行第二次短語查詢,並返回合格日誌。

樣本

  1. 例如您要查詢包含redo_index/1的日誌。

    • 使用非短語查詢語句"redo_index/1",Log Service將根據全文索引匹配部分關鍵詞。在搜尋欄中直接輸入 redo_index/1 進行非短語查詢時,Log Service會按分詞符 / 拆分查詢詞,匹配到包含 redo_index1 等詞元的日誌條目(如路徑 /redo_index/318/.../1/.../redo_index/14912/.../1/...),返回大量非精確匹配結果。

    • 使用短語查詢語句#"redo_index/1",Log Service將匹配完整的短語redo_index/1。使用短語查詢語句 #"redo_index/1",Log Service精確匹配包含完整字串 redo_index/1 的日誌記錄,查詢結果中日誌條目的檔案路徑欄位包含 /redo_index/1/ 完整片段,表明短語查詢未對該字串進行分詞拆分。

  2. 例如您要查詢包含02/Mar的日誌(調試)。

    • 使用非短語查詢語句time_local: 02/Mar,Log Service將根據全文索引匹配部分關鍵詞。

      查詢結果中包含 time_local 值為 01/Mar/2025:15:02:56 的日誌條目。該條目的日期實際為 01/Mar 而非 02/Mar,但因為時間部分 15:02:56 中包含關鍵詞 02,且日期部分包含關鍵詞 Mar,兩個關鍵詞被分別匹配命中,因此該條目也被返回。

    • 使用短語查詢語句time_local: #"02/Mar",Log Service將匹配完整的短語02/Mar

      查詢結果顯示匹配到的日誌中 time_local 欄位值為 02/Mar/2025:23:59:56,其中包含完整短語 02/Mar,符合匹配預期。