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

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

  • 搜尋與重新排名

  • 過濾

  • 陣列運算元

陣列運算元

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 倍。

開始使用
反饋

這個頁面有幫助嗎?