全部產品
Search
文件中心

Tablestore:模糊查詢

更新時間:Sep 20, 2024

Table Store多元索引提供了萬用字元查詢、首碼查詢和尾碼查詢功能來滿足使用者不同情境的模糊查詢需求,請根據實際業務需求選擇合適的查詢方式。本文介紹多元索引支援的模糊查詢類型。

背景資訊

在業務開發過程中,經常需要用到模糊查詢的功能,例如查詢人名、電話號碼、訂單號等。在關係型資料庫中,您可以使用like文法進行模糊查詢。同樣在Table Store的多元索引中也支援模糊查詢功能。

查詢類型

目前多元索引中模糊查詢功能可以按照查詢功能分為以下三種:

  • 萬用字元查詢:類似於傳統關係型資料庫裡面的like文法,支援星號(*)和問號(?)兩種萬用字元。要匹配的值中可以用星號(*)代表任一字元序列,或者用問號(?)代表任意單個字元,且支援以星號(*)或問號(?)開頭。例如查詢table*e,可以匹配到tablestore

  • 首碼查詢:通過指定首碼來查詢,例如查詢所有訂單中以H00開始的訂單。

  • 尾碼查詢:通過指定尾碼來查詢,例如查詢所有手機號碼中以1234結束的手機號。

模糊查詢功能按照欄位類型和實現可以分為以下三種:

  • Keyword類型:字串匹配式模糊查詢:查詢過程中需要逐個字串進行匹配,查詢效能會隨著資料規模增加而下降,支援萬用字元查詢首碼查詢。最大支援的欄位長度為4 KB。

  • FuzzyKeyword類型:面向模糊查詢的專項最佳化:相對於Keyword類型可以更快地查詢到資料,並且查詢效能比 Keyword 類型更穩定,基本不受資料規模影響,支援萬用字元查詢首碼查詢尾碼查詢。最大支援的欄位長度為2 KB。

    說明

    當前FuzzyKeyword類型處於邀測中,如果需要使用FuzzyKeyword類型,請提交工單聯絡我們進行開通。

  • Text類型:分詞模式:使用FuzzyAnalyzer,更加自由可控,支援大小寫敏感控制,功能上僅支援 *ALI*模式的基於分詞的萬用字元查詢。在使用FuzzyAnalyzer時,最大支援的欄位長度為1 KB。