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