SearchItems
Economy v2 現已正式推出。如需支援與意見反應,請前往 PlayFab 論壇。
SearchItems API 會使用提供的搜尋參數對公用目錄執行搜尋,並傳回分頁的項目清單。
最基本的情況下,Search 參數是針對 Title、Description、Keywords 和 Searchable String Display Properties 欄位的純文字模糊搜尋。不過,Filter、OrderBy 和 Select 是 OData 查詢的附加功能,可用來變更搜尋參數。搜尋結果可依搜尋文件中的任何欄位 (Title 和 Description 除外) 進行篩選和排序。
如需 OData 查詢語法的詳細資訊,請參閱這裡
SearchItems 要求範例:
接續權杖
搜尋回應所傳回的ContinuationToken 欄位可傳入搜尋要求中,以分頁瀏覽多批結果。
顯示屬性
搜尋、篩選和排序也可以針對設定為自訂搜尋的特定DisplayProperties 欄位進行。遊戲可以在 Game Manager 的 Display Properties Mappings 設定中設定其自訂搜尋與篩選屬性。

DisplayProperties 時,系統會在資料庫中為您建立新的索引。只有在索引建立後新增或更新的文件才會包含在內。如果您需要讓顯示屬性套用至所有項目,則必須重新發佈整個目錄。
DateTime、Double 和 Queryable String 顯示屬性是可查詢的,這些屬性可用於 Filter 和 OrderBy 陳述式。
Searchable String 顯示屬性是可搜尋的,這些屬性會透過 Search 欄位以模糊搜尋進行查詢。可搜尋的屬性無法用於 Filter 和 OrderBy 陳述式。
每種類型的顯示屬性,遊戲最多只能有五個。
Filter
Filter 參數可讓您篩選搜尋要求所傳回的項目集合。使用 filter 指定的運算式會針對結果中的每個目錄項目進行評估,只有運算式評估為 “true” 的項目才會包含在內。 Filter 支援 OData 邏輯運算子,以及使用括號的優先順序:- 等於:‘eq’
- 不等於:‘ne’
- 大於:‘gt’
- 大於或等於:‘ge’
- 小於:‘lt’
- 小於或等於:‘le’
- 邏輯 And:‘and’
- 邏輯 Or:‘or’
- 邏輯否定 ‘not’
依 ContentType 篩選
使用連接詞篩選
使用 null 值篩選
OData 支援用於篩選的null 類型
依建立者 ID 篩選
若要依特定建立者篩選,您應該使用語法title_player_account!<ID>
依陣列欄位篩選
Filter 也支援使用any() 針對陣列進行篩選。例如:alternateIds/any(a: a/value eq 'StoreOfferId')
使用陣列和 null 檢查篩選
下列篩選會檢查任何具有非 null 值之 contents 欄位的項目根據預設,除非使用 Select 陳述式指定,否則 Search 不會傳回項目的內容。如果執行上述查詢時未使用 `“Select”: “contents”“ 陳述式,它會正確套用篩選,但所有傳回的 Search 結果都會有空白的內容欄位
依顯示屬性篩選
只能使用可查詢的顯示屬性進行篩選OrderBy
OrderBy 是用來排序搜尋結果的逗號分隔清單。
OrderBy 支援少數用於排序的 OData 屬性:
ascdesc
asc 時會最先出現,在 desc 時會最後出現。如果未傳遞任何 OrderBy 值,則會使用預設的 id asc 值。
以下是 OrderBy 範例:
依標題排序
使用title/<LANG> 參數搭配 asc 或 desc 來指出排序偏好。
NEUTRAL 依中性字串排序
依顯示屬性排序
只能使用可查詢的顯示屬性進行排序Select
根據預設,Search 會傳回一組豐富的項目中繼資料:IdTypeAlternateIdsTitle(NEUTRAL 或Language地區設定)Description(NEUTRAL 或Language地區設定)Keywords(NEUTRAL 或Language地區設定)ContentTypeImages(僅縮圖)TagsCreationDateLastModifiedDateCreatorEntityKey(舊版 API 中為CreatorId)DisplayPropertiesItemReferences
Select,可以選擇性地在分頁搜尋結果中傳回更多欄位,包括內容中繼資料 (contents)、影像、StartDate、EndDate,以及 title 和 description 中完整的當地語系化字串集。如果 select 欄位保留空白,搜尋結果會是完整文件中繼資料的子集,以加快載入時間。
此要求除了內容和影像之外,還會傳回預設的項目中繼資料:
title、description 和/或 keywords 會傳回完整的當地語系化字串資料集:
當地語系化
可以將地區設定傳入Language 參數。傳遞地區設定會使所有 Title、Description、Keywords 欄位預設傳回該地區設定,如果項目沒有該當地語系化,則傳回 NEUTRAL。
包含 Language 參數的 SearchItems 要求範例,請參閱本頁頂端。
如需當地語系化的詳細資訊,請參閱當地語系化。
限制
每個要求的搜尋篩選查詢複雜度都有限制。耗費資源的查詢可能會遭到拒絕,遊戲應確保不會嘗試過於複雜的查詢。以下是接近最大複雜度的查詢範例:"The filter provided in the request does not meet the complexity requirements for source"。
搜尋商店
您可以傳入的其中一個屬性是Store 參數。這可讓您在商店的內容中進行搜尋。除了能夠檢查項目是否存在於特定商店之外,也可以用來顯示商店項目/內容的覆寫價格。您也可以使用商店的 AlternateId 來搜尋商店。若要深入了解如何使用商店,請參閱這裡
