- Resource: SearchConfig
- FacetProperty
- FixedRangeBucketSpec
- FacetValue
- CustomRangeBucketSpec
- DateTimeBucketSpec
- Granularity
- FacetBucketType
- SearchCriteriaProperty
- Methods
Resource: SearchConfig
SearchConfig stores different properties that will affect search behaviors and search results.
JSON representation |
---|
{ "name": string, "facetProperty": { object ( |
Fields | |
---|---|
name |
Resource name of the search configuration. For CustomSearchCriteria, searchConfig would be the search operator name. For Facets, searchConfig would be the facet dimension name. Form: |
facetProperty |
Establishes a FacetDimension and associated specifications. |
searchCriteriaProperty |
Creates a mapping between a custom SearchCriteria and one or more UGA keys. |
FacetProperty
Central configuration for a facet.
JSON representation |
---|
{ "mappedFields": [ string ], "displayName": string, "resultSize": string, "bucketType": enum ( |
Fields | |
---|---|
mappedFields[] |
Name of the facets, which are the dimensions users want to use to refine search results. For example, user can add a bunch of UGAs with the same key, such as player:adam, player:bob, player:charles. When multiple mappedFields are specified, will merge their value together as final facet value. E.g. home_team: a, home_team:b, away_team:a, away_team:c, when facet_field = [home_team, away_team], facet_value will be [a, b, c]. UNLESS this is a 1:1 facet dimension (mappedFields.size() == 1) AND the mapped_field equals the parent SearchConfig.name, the parent must also contain a SearchCriteriaProperty that maps to the same fields. mappedFields must not be empty. |
displayName |
Display name of the facet. To be used by UI for facet rendering. |
resultSize |
Maximum number of unique bucket to return for one facet. Bucket number can be large for high-cardinality facet such as "player". We only return top-n most related ones to user. If it's <= 0, the server will decide the appropriate resultSize. |
bucketType |
Facet bucket type e.g. value, range. |
Union field
|
|
fixedRangeBucketSpec |
Fixed range facet bucket config. |
customRangeBucketSpec |
Custom range facet bucket config. |
datetimeBucketSpec |
Datetime range facet bucket config. |
FixedRangeBucketSpec
If bucket type is FIXED_RANGE, specify how values are bucketized. Use FixedRangeBucketSpec when you want to create multiple buckets with equal granularities. Using integer bucket value as an example, when bucketStart = 0, bucketGranularity = 10, bucketCount = 5, this facet will be aggregated via the following buckets: [-inf, 0), [0, 10), [10, 20), [20, 30), [30, inf). Notably, bucketCount <= 1 is an invalid spec.
JSON representation |
---|
{ "bucketStart": { object ( |
Fields | |
---|---|
bucketStart |
Lower bound of the bucket. NOTE: Only integer type is currently supported for this field. |
bucketGranularity |
Bucket granularity. NOTE: Only integer type is currently supported for this field. |
bucketCount |
Total number of buckets. |
FacetValue
Definition of a single value with generic type.
JSON representation |
---|
{ // Union field |
Fields | |
---|---|
Union field
|
|
stringValue |
String type value. |
integerValue |
Integer type value. |
datetimeValue |
Datetime type value. |
CustomRangeBucketSpec
If bucket type is CUSTOM_RANGE, specify how values are bucketized. Use integer bucket value as an example, when the endpoints are 0, 10, 100, and 1000, we will generate the following facets: [-inf, 0), [0, 10), [10, 100), [100, 1000), [1000, inf). Notably: - endpoints must be listed in ascending order. Otherwise, the SearchConfig API will reject the facet config. - < 1 endpoints is an invalid spec.
JSON representation |
---|
{
"endpoints": [
{
object ( |
Fields | |
---|---|
endpoints[] |
Currently, only integer type is supported for this field. |
DateTimeBucketSpec
If bucket type is DATE, specify how date values are bucketized.
JSON representation |
---|
{
"granularity": enum ( |
Fields | |
---|---|
granularity |
Granularity of date type facet. |
Granularity
Granularity enum for the datetime bucket.
Enums | |
---|---|
GRANULARITY_UNSPECIFIED |
Unspecified granularity. |
YEAR |
Granularity is year. |
MONTH |
Granularity is month. |
DAY |
Granularity is day. |
FacetBucketType
Different types for a facet bucket.
Enums | |
---|---|
FACET_BUCKET_TYPE_UNSPECIFIED |
Unspecified type. |
FACET_BUCKET_TYPE_VALUE |
Value type. |
FACET_BUCKET_TYPE_DATETIME |
Datetime type. |
FACET_BUCKET_TYPE_FIXED_RANGE |
Fixed Range type. |
FACET_BUCKET_TYPE_CUSTOM_RANGE |
Custom Range type. |
SearchCriteriaProperty
Central configuration for custom search criteria.
JSON representation |
---|
{ "mappedFields": [ string ] } |
Fields | |
---|---|
mappedFields[] |
Each mapped_field corresponds to a UGA key. To understand how this property works, take the following example. In the SearchConfig table, the user adds this entry: searchConfig { name: "person" searchCriteriaProperty { mappedFields: "player" mappedFields: "coach" } } Now, when a user issues a query like: criteria { field: "person" textArray { txtValues: "Tom Brady" txtValues: "Bill Belichick" } } MWH search will return search documents where (player=Tom Brady || coach=Tom Brady || player=Bill Belichick || coach=Bill Belichick). |
Methods |
|
---|---|
|
Creates a search configuration inside a corpus. |
|
Deletes a search configuration inside a corpus. |
|
Gets a search configuration inside a corpus. |
|
Lists all search configurations inside a corpus. |
|
Updates a search configuration inside a corpus. |