- JSON representation
- ObjectDefinition
- ObjectOptions
- ObjectOptions.FreshnessOptions
- ObjectDisplayOptions
- ObjectDisplayOptions.Metaline
- ObjectDisplayOptions.DisplayedProperty
- PropertyDefinition
- IntegerPropertyOptions
- IntegerPropertyOptions.OrderedRanking
- IntegerPropertyOptions.IntegerOperatorOptions
- DoublePropertyOptions
- DoublePropertyOptions.DoubleOperatorOptions
- TimestampPropertyOptions
- TimestampPropertyOptions.TimestampOperatorOptions
- BooleanPropertyOptions
- BooleanPropertyOptions.BooleanOperatorOptions
- ObjectPropertyOptions
- EnumPropertyOptions
- EnumPropertyOptions.EnumValuePair
- EnumPropertyOptions.OrderedRanking
- EnumPropertyOptions.EnumOperatorOptions
- DatePropertyOptions
- DatePropertyOptions.DateOperatorOptions
- TextPropertyOptions
- RetrievalImportance
- RetrievalImportance.Importance
- TextPropertyOptions.TextOperatorOptions
- HtmlPropertyOptions
- HtmlPropertyOptions.HtmlOperatorOptions
- PropertyDisplayOptions
The schema definition for a data source.
JSON representation |
---|
{
"objectDefinitions": [
{
object ( |
Fields | |
---|---|
objectDefinitions[] |
The list of top-level objects for the data source. The maximum number of elements is 10. |
operationIds[] |
IDs of the Long Running Operations (LROs) currently running for this schema. After modifying the schema, wait for operations to complete before indexing additional content. |
ObjectDefinition
The definition for an object within a data source.
JSON representation |
---|
{ "name": string, "options": { object ( |
Fields | |
---|---|
name |
The name for the object, which then defines its type. Item indexing requests should set the |
options |
The optional object-specific options. |
propertyDefinitions[] |
The property definitions for the object. The maximum number of elements is 1000. |
ObjectOptions
The options for an object.
JSON representation |
---|
{ "freshnessOptions": { object ( |
Fields | |
---|---|
freshnessOptions |
The freshness options for an object. |
displayOptions |
The options that determine how the object is displayed in the Cloud Search results page. |
suggestionFilteringOperators[] |
Operators that can be used to filter suggestions. For NOTE: "objecttype", "type" and "mimetype" are already supported. This property is to configure schema specific operators. Even though this is an array, only one operator can be specified. This is an array for future extensibility. Operators mapping to multiple properties within the same object are not supported. If the operator spans across different object types, this option has to be set once for each object definition. |
ObjectOptions.FreshnessOptions
Indicates which freshness property to use when adjusting search ranking for an item. Fresher, more recent dates indicate higher quality. Use the freshness option property that best works with your data. For fileshare documents, last modified time is most relevant. For calendar event data, the time when the event occurs is a more relevant freshness indicator. In this way, calendar events that occur closer to the time of the search query are considered higher quality and ranked accordingly.
JSON representation |
---|
{ "freshnessProperty": string, "freshnessDuration": string } |
Fields | |
---|---|
freshnessProperty |
This property indicates the freshness level of the object in the index. If set, this property must be a top-level property within the When a property is used to calculate freshness, the value defaults to 2 years from the current time. |
freshnessDuration |
The duration after which an object should be considered stale. The default value is 180 days (in seconds). A duration in seconds with up to nine fractional digits, ending with ' |
ObjectDisplayOptions
The display options for an object.
JSON representation |
---|
{
"objectDisplayLabel": string,
"metalines": [
{
object ( |
Fields | |
---|---|
objectDisplayLabel |
The user friendly label to display in the search result to indicate the type of the item. This is OPTIONAL; if not provided, an object label isn't displayed on the context line of the search results. The maximum length is 64 characters. |
metalines[] |
Defines the properties that are displayed in the metalines of the search results. The property values are displayed in the order given here. If a property holds multiple values, all of the values are displayed before the next properties. For this reason, it is a good practice to specify singular properties before repeated properties in this list. All of the properties must set |
ObjectDisplayOptions.Metaline
A metaline is a list of properties that are displayed along with the search result to provide context.
JSON representation |
---|
{
"properties": [
{
object ( |
Fields | |
---|---|
properties[] |
The list of displayed properties for the metaline. The maximum number of properties is 5. |
ObjectDisplayOptions.DisplayedProperty
A reference to a top-level property within the object that should be displayed in search results. The values of the chosen properties is displayed in the search results along with the display label
for that property if one is specified. If a display label is not specified, only the values is shown.
JSON representation |
---|
{ "propertyName": string } |
Fields | |
---|---|
propertyName |
The name of the top-level property as defined in a property definition for the object. If the name is not a defined property in the schema, an error is given when attempting to update the schema. |
PropertyDefinition
The definition of a property within an object.
JSON representation |
---|
{ "name": string, "isReturnable": boolean, "isRepeatable": boolean, "isSortable": boolean, "isFacetable": boolean, "isSuggestable": boolean, "isWildcardSearchable": boolean, "displayOptions": { object ( |
Fields | |
---|---|
name |
The name of the property. Item indexing requests sent to the Indexing API should set the |
isReturnable |
Indicates that the property identifies data that should be returned in search results via the Query API. If set to true, indicates that Query API users can use matching property fields in results. However, storing fields requires more space allocation and uses more bandwidth for search queries, which impacts performance over large datasets. Set to true here only if the field is needed for search results. Cannot be true for properties whose type is an object. |
isRepeatable |
Indicates that multiple values are allowed for the property. For example, a document only has one description but can have multiple comments. Cannot be true for properties whose type is a boolean. If set to false, properties that contain more than one value cause the indexing request for that item to be rejected. |
isSortable |
Indicates that the property can be used for sorting. Cannot be true for properties that are repeatable. Cannot be true for properties whose type is object. IsReturnable must be true to set this option. Only supported for boolean, date, double, integer, and timestamp properties. |
isFacetable |
Indicates that the property can be used for generating facets. Cannot be true for properties whose type is object. IsReturnable must be true to set this option. Only supported for boolean, enum, integer, and text properties. |
isSuggestable |
Indicates that the property can be used for generating query suggestions. |
isWildcardSearchable |
Indicates that users can perform wildcard search for this property. Only supported for Text properties. IsReturnable must be true to set this option. In a given datasource maximum of 5 properties can be marked as isWildcardSearchable. For more details, see Define object properties |
displayOptions |
The options that determine how the property is displayed in the Cloud Search results page if it's specified to be displayed in the object's |
Union field property_options . The type-specific options that determine how the property is indexed and used. In the case where the options should be the default options for a type, this field must still be set to one of the types. If this field is not set, schema updates are rejected. property_options can be only one of the following: |
|
integerPropertyOptions |
|
doublePropertyOptions |
|
timestampPropertyOptions |
|
booleanPropertyOptions |
|
objectPropertyOptions |
|
enumPropertyOptions |
|
datePropertyOptions |
|
textPropertyOptions |
|
htmlPropertyOptions |
|
IntegerPropertyOptions
The options for integer properties.
JSON representation |
---|
{ "orderedRanking": enum ( |
Fields | |
---|---|
orderedRanking |
Used to specify the ordered ranking for the integer. Can only be used if |
minimumValue |
The minimum value of the property. The minimum and maximum values for the property are used to rank results according to the |
maximumValue |
The maximum value of the property. The minimum and maximum values for the property are used to rank results according to the |
operatorOptions |
If set, describes how the integer should be used as a search operator. |
integerFacetingOptions |
If set, describes integer faceting options for the given integer property. The corresponding integer property should be marked isFacetable. |
IntegerPropertyOptions.OrderedRanking
Used to specify how an integer value should be ranked relative to other values. An integer with a higher ordered ranking suggests greater importance. For example, in some data sources lower priority indicates higher importance while in others a higher priority indicates higher importance.
Enums | |
---|---|
NO_ORDER |
There is no ranking order for the property. Results are not adjusted by this property's value. |
ASCENDING |
This property is ranked in ascending order. Lower values indicate lower ranking. |
DESCENDING |
This property is ranked in descending order. Lower values indicate higher ranking. |
IntegerPropertyOptions.IntegerOperatorOptions
Used to provide a search operator for integer properties. This is optional. query.search operators let users restrict the query to specific fields relevant to the type of item being searched.
JSON representation |
---|
{ "operatorName": string, "lessThanOperatorName": string, "greaterThanOperatorName": string } |
Fields | |
---|---|
operatorName |
Indicates the operator name required in the query in order to isolate the integer property. For example, if operatorName is priority and the property's name is priorityVal, then queries like priority:<value> show results only where the value of the property named priorityVal matches <value>. By contrast, a search that uses the same <value> without an operator returns all items where <value> matches the value of any String properties or text within the content field for the item. The operator name can only contain lowercase letters (a-z). The maximum length is 32 characters. |
lessThanOperatorName |
Indicates the operator name required in the query in order to isolate the integer property using the less-than operator. For example, if lessThanOperatorName is prioritybelow and the property's name is priorityVal, then queries like prioritybelow:<value> show results only where the value of the property named priorityVal is less than <value>. The operator name can only contain lowercase letters (a-z). The maximum length is 32 characters. |
greaterThanOperatorName |
Indicates the operator name required in the query in order to isolate the integer property using the greater-than operator. For example, if greaterThanOperatorName is priorityabove and the property's name is priorityVal, then queries like priorityabove:<value> show results only where the value of the property named priorityVal is greater than <value>. The operator name can only contain lowercase letters (a-z). The maximum length is 32 characters. |
DoublePropertyOptions
The options for double properties.
JSON representation |
---|
{
"operatorOptions": {
object ( |
Fields | |
---|---|
operatorOptions |
If set, describes how the double should be used as a search operator. |
DoublePropertyOptions.DoubleOperatorOptions
Used to provide a search operator for double properties. This is optional. query.search operators let users restrict the query to specific fields relevant to the type of item being searched.
JSON representation |
---|
{ "operatorName": string } |
Fields | |
---|---|
operatorName |
Indicates the operator name required in the query in order to use the double property in sorting or as a facet. The operator name can only contain lowercase letters (a-z). The maximum length is 32 characters. |
TimestampPropertyOptions
The options for timestamp properties.
JSON representation |
---|
{
"operatorOptions": {
object ( |
Fields | |
---|---|
operatorOptions |
If set, describes how the timestamp should be used as a search operator. |
TimestampPropertyOptions.TimestampOperatorOptions
Used to provide a search operator for timestamp properties. This is optional. query.search operators let users restrict the query to specific fields relevant to the type of item being searched.
JSON representation |
---|
{ "operatorName": string, "lessThanOperatorName": string, "greaterThanOperatorName": string } |
Fields | |
---|---|
operatorName |
Indicates the operator name required in the query in order to isolate the timestamp property. For example, if operatorName is closedon and the property's name is closeDate, then queries like closedon:<value> show results only where the value of the property named closeDate matches <value>. By contrast, a search that uses the same <value> without an operator returns all items where <value> matches the value of any String properties or text within the content field for the item. The operator name can only contain lowercase letters (a-z). The maximum length is 32 characters. |
lessThanOperatorName |
Indicates the operator name required in the query in order to isolate the timestamp property using the less-than operator. For example, if lessThanOperatorName is closedbefore and the property's name is closeDate, then queries like closedbefore:<value> show results only where the value of the property named closeDate is earlier than <value>. The operator name can only contain lowercase letters (a-z). The maximum length is 32 characters. |
greaterThanOperatorName |
Indicates the operator name required in the query in order to isolate the timestamp property using the greater-than operator. For example, if greaterThanOperatorName is closedafter and the property's name is closeDate, then queries like closedafter:<value> show results only where the value of the property named closeDate is later than <value>. The operator name can only contain lowercase letters (a-z). The maximum length is 32 characters. |
BooleanPropertyOptions
The options for boolean properties.
JSON representation |
---|
{
"operatorOptions": {
object ( |
Fields | |
---|---|
operatorOptions |
If set, describes how the boolean should be used as a search operator. |
BooleanPropertyOptions.BooleanOperatorOptions
Used to provide a search operator for boolean properties. This is optional. query.search operators let users restrict the query to specific fields relevant to the type of item being searched.
JSON representation |
---|
{ "operatorName": string } |
Fields | |
---|---|
operatorName |
Indicates the operator name required in the query in order to isolate the boolean property. For example, if operatorName is closed and the property's name is isClosed, then queries like closed:<value> show results only where the value of the property named isClosed matches <value>. By contrast, a search that uses the same <value> without an operator returns all items where <value> matches the value of any String properties or text within the content field for the item. The operator name can only contain lowercase letters (a-z). The maximum length is 32 characters. |
ObjectPropertyOptions
The options for object properties.
JSON representation |
---|
{
"subobjectProperties": [
{
object ( |
Fields | |
---|---|
subobjectProperties[] |
The properties of the sub-object. These properties represent a nested object. For example, if this property represents a postal address, the subobjectProperties might be named street, city, and state. The maximum number of elements is 1000. |
EnumPropertyOptions
The options for enum properties, which allow you to define a restricted set of strings to match user queries, set rankings for those string values, and define an operator name to be paired with those strings so that users can narrow results to only items with a specific value. For example, for items in a request tracking system with priority information, you could define p0 as an allowable enum value and tie this enum to the operator name priority so that search users could add priority:p0 to their query to restrict the set of results to only those items indexed with the value p0.
JSON representation |
---|
{ "possibleValues": [ { object ( |
Fields | |
---|---|
possibleValues[] |
The list of possible values for the enumeration property. All EnumValuePairs must provide a string value. If you specify an integer value for one EnumValuePair, then all possible EnumValuePairs must provide an integer value. Both the string value and integer value must be unique over all possible values. Once set, possible values cannot be removed or modified. If you supply an ordered ranking and think you might insert additional enum values in the future, leave gaps in the initial integer values to allow adding a value in between previously registered values. The maximum number of elements is 100. |
orderedRanking |
Used to specify the ordered ranking for the enumeration that determines how the integer values provided in the possible EnumValuePairs are used to rank results. If specified, integer values must be provided for all possible EnumValuePair values given for this property. Can only be used if |
operatorOptions |
If set, describes how the enum should be used as a search operator. |
EnumPropertyOptions.EnumValuePair
The enumeration value pair defines two things: a required string value and an optional integer value. The string value defines the necessary query term required to retrieve that item, such as p0 for a priority item. The integer value determines the ranking of that string value relative to other enumerated values for the same property. For example, you might associate p0 with 0 and define another enum pair such as p1 and 1. You must use the integer value in combination with ordered ranking
to set the ranking of a given value relative to other enumerated values for the same property name. Here, a ranking order of DESCENDING for priority properties results in a ranking boost for items indexed with a value of p0 compared to items indexed with a value of p1. Without a specified ranking order, the integer value has no effect on item ranking.
JSON representation |
---|
{ "stringValue": string, "integerValue": integer } |
Fields | |
---|---|
stringValue |
The string value of the EnumValuePair. The maximum length is 32 characters. |
integerValue |
The integer value of the EnumValuePair which must be non-negative. Optional. |
EnumPropertyOptions.OrderedRanking
Used to specify the ranking direction for an EnumValuePair
integer relative to other EnumValuePair integer values. For some properties, lower integer values indicate higher importance, while in others a higher integer indicates higher importance.
Enums | |
---|---|
NO_ORDER |
There is no ranking order for the property. Results aren't adjusted by this property's value. |
ASCENDING |
This property is ranked in ascending order. Lower values indicate lower ranking. |
DESCENDING |
This property is ranked in descending order. Lower values indicate higher ranking. |
EnumPropertyOptions.EnumOperatorOptions
Used to provide a search operator for enum properties. This is optional. query.search operators let users restrict the query to specific fields relevant to the type of item being searched. For example, if you provide no operator for a priority enum property with possible values p0 and p1, a query that contains the term p0 returns items that have p0 as the value of the priority property, as well as any items that contain the string p0 in other fields. If you provide an operator name for the enum, such as priority, then search users can use that operator to refine results to only items that have p0 as this property's value, with the query priority:p0.
JSON representation |
---|
{ "operatorName": string } |
Fields | |
---|---|
operatorName |
Indicates the operator name required in the query in order to isolate the enum property. For example, if operatorName is priority and the property's name is priorityVal, then queries like priority:<value> show results only where the value of the property named priorityVal matches <value>. By contrast, a search that uses the same <value> without an operator returns all items where <value> matches the value of any String properties or text within the content field for the item. The operator name can only contain lowercase letters (a-z). The maximum length is 32 characters. |
DatePropertyOptions
The options for date properties.
JSON representation |
---|
{
"operatorOptions": {
object ( |
Fields | |
---|---|
operatorOptions |
If set, describes how the date should be used as a search operator. |
DatePropertyOptions.DateOperatorOptions
Optional. Provides a search operator for date properties. query.search operators let users restrict the query to specific fields relevant to the type of item being searched.
JSON representation |
---|
{ "operatorName": string, "lessThanOperatorName": string, "greaterThanOperatorName": string } |
Fields | |
---|---|
operatorName |
Indicates the actual string required in the query in order to isolate the date property. For example, suppose an issue tracking schema object has a property named closeDate that specifies an operator with an operatorName of closedon. For searches on that data, queries like closedon:<value> show results only where the value of the closeDate property matches <value>. By contrast, a search that uses the same <value> without an operator returns all items where <value> matches the value of any String properties or text within the content field for the indexed datasource. The operator name can only contain lowercase letters (a-z). The maximum length is 32 characters. |
lessThanOperatorName |
Indicates the operator name required in the query in order to isolate the date property using the less-than operator. For example, if lessThanOperatorName is closedbefore and the property's name is closeDate, then queries like closedbefore:<value> show results only where the value of the property named closeDate is earlier than <value>. The operator name can only contain lowercase letters (a-z). The maximum length is 32 characters. |
greaterThanOperatorName |
Indicates the operator name required in the query in order to isolate the date property using the greater-than operator. For example, if greaterThanOperatorName is closedafter and the property's name is closeDate, then queries like closedafter:<value> show results only where the value of the property named closeDate is later than <value>. The operator name can only contain lowercase letters (a-z). The maximum length is 32 characters. |
TextPropertyOptions
The options for text properties.
JSON representation |
---|
{ "retrievalImportance": { object ( |
Fields | |
---|---|
retrievalImportance |
Indicates the search quality importance of the tokens within the field when used for retrieval. |
operatorOptions |
If set, describes how the property should be used as a search operator. |
RetrievalImportance
JSON representation |
---|
{
"importance": enum ( |
Fields | |
---|---|
importance |
Indicates the ranking importance given to property when it is matched during retrieval. Once set, the token importance of a property cannot be changed. |
RetrievalImportance.Importance
Enums | |
---|---|
DEFAULT |
Treat the match like a body text match. |
HIGHEST |
Treat the match like a match against title of the item. |
HIGH |
Treat the match with higher importance than body text. |
LOW |
Treat the match with lower importance than body text. |
NONE |
Do not match against this field during retrieval. The property can still be used for operator matching, faceting, and suggest if desired. |
TextPropertyOptions.TextOperatorOptions
Used to provide a search operator for text properties. This is optional. query.search operators let users restrict the query to specific fields relevant to the type of item being searched.
JSON representation |
---|
{ "operatorName": string, "exactMatchWithOperator": boolean } |
Fields | |
---|---|
operatorName |
Indicates the operator name required in the query in order to isolate the text property. For example, if operatorName is subject and the property's name is subjectLine, then queries like subject:<value> show results only where the value of the property named subjectLine matches <value>. By contrast, a search that uses the same <value> without an operator returns all items where <value> matches the value of any text properties or text within the content field for the item. The operator name can only contain lowercase letters (a-z). The maximum length is 32 characters. |
exactMatchWithOperator |
If true, the text value is tokenized as one atomic value in operator searches and facet matches. For example, if the operator name is "genre" and the value is "science-fiction" the query restrictions "genre:science" and "genre:fiction" doesn't match the item; "genre:science-fiction" does. Text value matching is case-sensitive and does not remove special characters. If false, the text is tokenized. For example, if the value is "science-fiction" the queries "genre:science" and "genre:fiction" matches the item. |
HtmlPropertyOptions
The options for html properties.
JSON representation |
---|
{ "retrievalImportance": { object ( |
Fields | |
---|---|
retrievalImportance |
Indicates the search quality importance of the tokens within the field when used for retrieval. Can only be set to DEFAULT or NONE. |
operatorOptions |
If set, describes how the property should be used as a search operator. |
HtmlPropertyOptions.HtmlOperatorOptions
Used to provide a search operator for html properties. This is optional. query.search operators let users restrict the query to specific fields relevant to the type of item being searched.
JSON representation |
---|
{ "operatorName": string } |
Fields | |
---|---|
operatorName |
Indicates the operator name required in the query in order to isolate the html property. For example, if operatorName is subject and the property's name is subjectLine, then queries like subject:<value> show results only where the value of the property named subjectLine matches <value>. By contrast, a search that uses the same <value> without an operator return all items where <value> matches the value of any html properties or text within the content field for the item. The operator name can only contain lowercase letters (a-z). The maximum length is 32 characters. |
PropertyDisplayOptions
The display options for a property.
JSON representation |
---|
{ "displayLabel": string } |
Fields | |
---|---|
displayLabel |
The user friendly label for the property that is used if the property is specified to be displayed in ObjectDisplayOptions. If provided, the display label is shown in front of the property values when the property is part of the object display options. For example, if the property value is '1', the value by itself may not be useful context for the user. If the display name given was 'priority', then the user sees 'priority : 1' in the search results which provides clear context to search users. This is OPTIONAL; if not given, only the property values are displayed. The maximum length is 64 characters. |