Azure

無法讓搜尋查詢適用於 Azure blob 元數據欄位

  • August 23, 2019

我在儲存帳戶中有一個 blob 容器,其中每個 blob 都是一個圖像。我已將“w”和“h”元數據欄位添加到每個包含圖像寬度和高度的 blob。

我已按照此處的說明將搜尋服務添加到 blob 儲存,但我添加了元數據而不是 blob 內容。

我可以確認元數據存在且有效,如果我瀏覽 Azure 門戶中的 blob,我可以看到包含有效數據的欄位,如果我在搜尋資源管理器中執行“search=*”,我會為每個 blob 獲取此資訊:

{
           "@search.score": 1,
           "w": 640,
           "h": 424,
           "metadata_storage_path": "......"
}

我的問題是我想按圖像寬度(w)和高度(h)搜尋並且無法鍛煉。

嘗試了這些範例查詢以搜尋 w=640,但沒有成功,只返回所有 blob 或錯誤:

w=640
search=*&w=640
search=*&w eq 640
w eq 640

我注意到的一件事是,在編寫 blob 元數據時(我使用了 Azure 儲存 Python 庫),您只能編寫字元串數據。但是當您指定數據源中的欄位時,可以將它們設置為 int32。

如何啟用對 blob 元數據欄位的可過濾搜尋?

編輯: 根據 SumanthMarigowda-MSFT 的回答,我查看了這個文件,在我的情況下,這裡有一些範例查詢:

僅 640x480:

search=*&$filter=(w eq 640 and h eq 480)

所有 w 介於 640 和 700 之間:

search=*&$filter=(w ge 640 and w lt 700)

MSDN 論壇上有類似的查詢討論,您可以參考此連結中提到的建議。

引用自:https://serverfault.com/questions/980346