- 資源:SearchConfig
- FacetProperty
- FixedRangeBucketSpec
- FacetValue
- CustomRangeBucketSpec
- DateTimeBucketSpec
- 精細程度
- FacetBucketType
- SearchCriteriaProperty
- 方法
資源:SearchConfig
SearchConfig 會儲存會影響搜尋行為和搜尋結果的不同屬性。
JSON 表示法 |
---|
{ "name": string, "facetProperty": { object ( |
欄位 | |
---|---|
name |
搜尋設定的資源名稱。對於 CustomSearchCriteria,searchConfig 會是搜尋運算子名稱。對於商情項目,searchConfig 會是商情項目維度名稱。表單: |
facetProperty |
建立 FacetDimension 和相關規格。 |
searchCriteriaProperty |
建立自訂 SearchCriteria 和一或多個 UGA 鍵之間的對應關係。 |
FacetProperty
面向面的集中設定。
JSON 表示法 |
---|
{ "mappedFields": [ string ], "displayName": string, "resultSize": string, "bucketType": enum ( |
欄位 | |
---|---|
mappedFields[] |
商情項目名稱,也就是使用者想用來縮小搜尋結果範圍的維度。 舉例來說,使用者可以新增多個使用相同鍵的 UGA,例如 player:adam、player:bob、player:charles。指定多個 mappedFields 時,系統會將這些值合併為最終的面向值。例如:home_team: a, home_team:b, away_team:a, away_team:c,如果 facet_field = [home_team, away_team],facet_value 會是 [a, b, c]。 除非這是 1:1 切面維度 (mappedFields.size() == 1),且 mapped_field 等於父項 SearchConfig.name,否則父項也必須包含對應至相同欄位的 SearchCriteriaProperty。mappedFields 不得為空白。 |
displayName |
切面的顯示名稱。供 UI 用於多面向算繪。 |
resultSize |
每個切面傳回的唯一值桶數上限。對於高基數的切面 (例如「玩家」),值區數量可能會很大。我們只會向使用者傳回最相關的 n 個結果。如果 <= 0,伺服器會決定適當的 resultSize。 |
bucketType |
Facet 值類型,例如值、範圍。 |
聯集欄位
|
|
fixedRangeBucketSpec |
固定範圍切面值區設定。 |
customRangeBucketSpec |
自訂範圍值區設定。 |
datetimeBucketSpec |
日期時間範圍切面桶值設定。 |
FixedRangeBucketSpec
如果值區類型為 FIXED_RANGE,請指定值區的分布方式。如要建立多個精確度相同的桶,請使用 FixedRangeBucketSpec。以整數值區值為例,如果 bucketStart = 0、bucketGranularity = 10、bucketCount = 5,系統會透過下列值區匯總這個商情項目:[-inf, 0), [0, 10), [10, 20), [20, 30), [30, inf)。請注意,bucketCount <= 1 是無效的規格。
JSON 表示法 |
---|
{ "bucketStart": { object ( |
欄位 | |
---|---|
bucketStart |
值區的下限。注意:這個欄位目前僅支援整數類型。 |
bucketGranularity |
值區精細程度。注意:這個欄位目前僅支援整數類型。 |
bucketCount |
值區總數。 |
FacetValue
定義具有泛型類型的單一值。
JSON 表示法 |
---|
{ // Union field |
欄位 | |
---|---|
聯集欄位
|
|
stringValue |
字串類型值。 |
integerValue |
整數類型值。 |
datetimeValue |
日期時間類型值。 |
CustomRangeBucketSpec
如果值區類型為 CUSTOM_RANGE,請指定值區的分布方式。以整數值區範圍為例,如果端點為 0、10、100 和 1000,我們會產生下列商情項目:[-inf, 0), [0, 10), [10, 100), [100, 1000), [1000, inf)。特別注意:- 端點必須依遞增順序列出。否則,SearchConfig API 會拒絕面向設定。- < 1 個端點是無效的規格。
JSON 表示法 |
---|
{
"endpoints": [
{
object ( |
欄位 | |
---|---|
endpoints[] |
目前這個欄位僅支援整數類型。 |
DateTimeBucketSpec
如果值區類型為 DATE,請指定日期值的值區分布方式。
JSON 表示法 |
---|
{
"granularity": enum ( |
欄位 | |
---|---|
granularity |
日期類型切面的精細程度。 |
精細程度
日期時間範圍的細目列舉。
列舉 | |
---|---|
GRANULARITY_UNSPECIFIED |
未指定精細度。 |
YEAR |
精細程度為年。 |
MONTH |
精細程度為月。 |
DAY |
精細程度為「日」。 |
FacetBucketType
切面值層的不同類型。
列舉 | |
---|---|
FACET_BUCKET_TYPE_UNSPECIFIED |
未指定的類型。 |
FACET_BUCKET_TYPE_VALUE |
值類型。 |
FACET_BUCKET_TYPE_DATETIME |
日期時間類型。 |
FACET_BUCKET_TYPE_FIXED_RANGE |
固定範圍類型。 |
FACET_BUCKET_TYPE_CUSTOM_RANGE |
自訂範圍類型。 |
SearchCriteriaProperty
自訂搜尋條件的集中設定。
JSON 表示法 |
---|
{ "mappedFields": [ string ] } |
欄位 | |
---|---|
mappedFields[] |
每個 mapped_field 都會對應至 UGA 鍵。如要瞭解這項屬性的運作方式,請參考以下範例。In the SearchConfig table, the user adds this entry: searchConfig { name: "person" searchCriteriaProperty { mappedFields: "player" mappedFields: "coach" } } 現在,當使用者發出以下查詢時: criteria { field: "person" textArray { txtValues: "Tom Brady" txtValues: "Bill Belichick" } } MWH 搜尋會傳回搜尋文件,其中包含 (player=Tom Brady || coach=Tom Brady || player=Bill Belichick || coach=Bill Belichick)。 |
方法 |
|
---|---|
|
在語料庫中建立搜尋設定。 |
|
刪除語料庫中的搜尋設定。 |
|
取得語料庫中的搜尋設定。 |
|
列出語料庫中的所有搜尋設定。 |
|
更新語料庫中的搜尋設定。 |