🚀 免費嘗試 Zilliz Cloud,完全托管的 Milvus,體驗速度提升 10 倍!立即嘗試

milvus-logo
LFAI
主頁
  • 使用者指南
  • Home
  • Docs
  • 使用者指南

  • 搜尋與重新排名

  • 過濾

  • 基本操作員

基本運算符號

Milvus 提供豐富的基本運算符號,幫助您有效地過濾和查詢資料。這些運算符允許您根據標量字段、數字計算、邏輯條件等細化搜尋條件。了解如何使用這些運算符號,對建立精確的查詢和最大化搜尋效率至關重要。

比較運算符號

比較運算符用於根據相等、不相等或大小篩選資料。它們適用於數值、文字和日期欄位。

支援的比較運算符。

  • == (相等於)

  • != (不等於)

  • > (大於)

  • < (小於)

  • >= (大於或等於)

  • <= (小於或等於)

範例 1:使用大於或等於 (>=) 過濾

如果您要尋找rating 大於或等於 4 的所有實體。

filter = 'rating >= 4'

範例 2:使用小於或等於 (<=) 過濾

若要尋找discount 小於或等於 10% 的實體。

filter = 'discount <= 10'

範圍運算符號

範圍運算符有助於根據特定值集或範圍篩選資料。

支援的範圍運算符號。

  • IN:用於匹配特定集合或範圍內的值。

  • LIKE:用於匹配模式 (主要用於文字欄位)。

範例 1:使用IN 來匹配多個值

如果您要尋找color 為「紅」、「綠」或「藍」的所有實體。

filter = 'color in ["red", "green", "blue"]'

當您要檢查一個值清單中的成員身分時,這就很有用。

範例 2:使用LIKE 進行模式匹配

LIKE 運算符號用於字串欄位中的模式匹配。它可以匹配文本中不同位置的子串:前綴後綴後綴LIKE 運算符號使用% 符號作為通配符,可以匹配任何數量的字元(包括零)。

前綴匹配(從開始

若要執行前綴匹配,即字串以指定的模式開始,您可以將模式放在開頭,並使用% 來匹配其後的任何字元。例如,搜尋name 以「Prod」開頭的所有產品。

filter = 'name LIKE "Prod%"'

這將匹配任何名稱以 "Prod 「開頭的產品,例如 」Product A"、"Product B "等。

後綴匹配 (結尾為)

對於後綴匹配,如果字串以指定的樣式結束,請將% 符號放在樣式的開頭。例如,搜尋name 以「XYZ」結尾的所有產品。

filter = 'name LIKE "%XYZ"'

這將匹配任何名稱以 "XYZ 「結尾的產品,例如 」ProductXYZ"、"SampleXYZ "等。

下位元匹配 (包含)

若要執行中位元(infix)匹配,即模式可以出現在字串中的任何位置,您可以將% 符號放在模式的開頭和結尾。例如,要搜尋name 包含「Pro」的所有產品。

filter = 'name LIKE "%Pro%"'

這將匹配任何名稱包含子串「Pro」的產品,例如「Product」、「ProLine」或「SuperPro」。

算術運算符號

算術運算符允許您根據涉及數字欄位的計算建立條件。

支援的算術運算元。

  • + (加法)

  • - (減法)

  • * (乘法)

  • / (除法)

  • % (模乘)

  • ** (幂级数)

範例 1:使用加法 (+)

尋找total 價格是base_pricetax 之和的實體。

filter = 'total == base_price + tax'

範例 2:使用減法 (-)

尋找quantity 大於 50 且quantity_sold 小於 30 的實體。

filter = 'quantity - quantity_sold > 50'

範例 3:使用乘法 (*)

若要尋找price 大於 100 且quantity 大於 10 的實體,請使用乘法。

filter = 'price * quantity > 1000'

範例 4:使用除法 (/)

尋找total_price 除以quantity 小於 50 的乘積。

filter = 'total_price / quantity < 50'

範例 5: 使用模數 (%)

尋找id 是偶數 (即能被 2 整除) 的實體。

filter = 'id % 2 == 0'

例六:使用幂 (**)

尋找price 升為 2 的幂大於 1000 的實體。

filter = 'price ** 2 > 1000'

邏輯運算符號

邏輯運算符用來將多重條件結合為更複雜的篩選表達式。這些運算符包括AND,OR, 和NOT

支援的邏輯運算符。

  • AND:結合必須全為真的多個條件。

  • OR:組合條件,其中至少有一個條件必須為真。

  • NOT:否定一個條件。

範例 1:使用AND 來合併條件

查找price 大於 100 且stock 大於 50 的所有產品。

filter = 'price > 100 AND stock > 50'

範例 2:使用OR 來合併條件

查找color 為「紅色」或「藍色」的所有產品。

filter = 'color == "red" OR color == "blue"'

範例 3:使用NOT 來排除條件

找出color 不是「綠色」的所有產品。

filter = 'NOT color == "green"'

在 JSON 和 ARRAY 字段中使用基本運算符的提示

雖然 Milvus 中的基本運算符是多用途的,可以應用於標量欄位,但它們也可以有效地用於 JSON 和 ARRAY 欄位中的鍵和索引。

例如,如果您有一個product 欄位,其中包含多個鍵值,如price,model, 和tags ,總是直接引用鍵值。

filter = 'product["price"] > 1000'

若要尋找記錄溫度陣列中第一個溫度超過特定值的記錄,請使用。

filter = 'history_temperatures[0] > 30'

結論

Milvus 提供了一系列基本運算符號,讓您可以靈活地過濾和查詢資料。透過結合比較、範圍、算術和邏輯運算符號,您可以建立強大的篩選表達式,縮小搜尋結果的範圍,並有效率地擷取所需的資料。

免費嘗試托管的 Milvus

Zilliz Cloud 無縫接入,由 Milvus 提供動力,速度提升 10 倍。

開始使用
反饋

這個頁面有幫助嗎?