陣列運算元

Milvus 提供強大的運算符號來查詢陣列欄位,允許您根據陣列的內容來過濾和擷取實體。

陣列中的所有元素必須是相同的類型,陣列中的巢狀結構會被視為普通字串。因此,在處理 ARRAY 欄位時,建議避免過深的巢狀結構,並確保資料結構盡可能扁平化,以獲得最佳效能。

可用的 ARRAY 運算符

ARRAY 運算符允許在 Milvus 中細緻地查詢陣列欄位。這些運算符有

ARRAY_CONTAINS

ARRAY_CONTAINS 運算符檢查特定元素是否存在於陣列欄位中。當您要尋找陣列中存在指定元素的實體時,它非常有用。

範例

假設您有一個陣列欄位history_temperatures ,它包含不同年份的最低溫度記錄。若要尋找陣列包含值23 的所有實體,您可以使用下列篩選表達式:

filter = 'ARRAY_CONTAINS(history_temperatures, 23)'

這將會返回history_temperatures 陣列包含23 值的所有實體。

array_contains_all

ARRAY_CONTAINS_ALL 運算符確保指定清單的所有元素都存在於陣列欄位中。當您要匹配陣列中包含多個值的實體時,此運算符非常有用。

範例

如果要查找history_temperatures 陣列中同時包含2324 的所有實體,可以使用:

filter = 'ARRAY_CONTAINS_ALL(history_temperatures, [23, 24])'

這將會回傳history_temperatures 陣列中包含兩個指定值的所有實體。

array_contains_any

ARRAY_CONTAINS_ANY 運算符檢查指定清單中的任何元素是否出現在陣列欄位中。當您要匹配陣列中至少包含一個指定值的實體時,此運算非常有用。

範例

要查找history_temperatures 陣列包含2324 的所有實體,您可以使用:

filter = 'ARRAY_CONTAINS_ANY(history_temperatures, [23, 24])'

這將會返回history_temperatures 陣列至少包含2324 其中一個值的所有實體。

ARRAY_LENGTH

ARRAY_LENGTH 返回一個陣列欄位的長度(元素數目)。它只接受一個參數:陣列欄位識別符。

範例

查找history_temperatures 陣列元素少於 10 的所有實體:

filter = 'ARRAY_LENGTH(history_temperatures) < 10'

這將會回傳history_temperatures 陣列中少於 10 個元素的所有實體。

免費嘗試托管的 Milvus

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

開始使用
反饋

這個頁面有幫助嗎?