swagger: "2.0"
schemes:
  - https
host: azure.local
info:
  description: Client that can be used to manage and query indexes and documents, as well as manage other resources, on a search service.
  title: SearchServiceClient
  version: 2019-05-06
  x-apisguru-categories:
    - cloud
  x-logo:
    url: https://api.apis.guru/v2/cache/logo/https_assets.onestore.ms_cdnfiles_onestorerolling-1606-01000_shell_v3_images_logo_microsoft.png
  x-origin:
    - format: swagger
      url: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/search/data-plane/Microsoft.Azure.Search.Service/track1/stable/2019-05-06/searchservice.json
      version: "2.0"
  x-preferred: false
  x-providerName: azure.com
  x-serviceName: search-searchservice
  x-tags:
    - Azure
    - Microsoft
consumes:
  - application/json
produces:
  - application/json
parameters:
  ApiVersionParameter:
    description: Client Api Version.
    in: query
    name: api-version
    required: true
    type: string
  ClientRequestIdParameter:
    description: The tracking ID sent with the request to help with debugging.
    format: uuid
    in: header
    name: client-request-id
    required: false
    type: string
    x-ms-client-request-id: true
    x-ms-parameter-grouping:
      name: search-request-options
    x-ms-parameter-location: method
  IfMatchParameter:
    description: Defines the If-Match condition. The operation will be performed only if the ETag on the server matches this value.
    in: header
    name: If-Match
    required: false
    type: string
    x-ms-parameter-grouping:
      name: access-condition
    x-ms-parameter-location: method
  IfNoneMatchParameter:
    description: Defines the If-None-Match condition. The operation will be performed only if the ETag on the server does not match this value.
    in: header
    name: If-None-Match
    required: false
    type: string
    x-ms-parameter-grouping:
      name: access-condition
    x-ms-parameter-location: method
  PreferHeaderParameter:
    description: For HTTP PUT requests, instructs the service to return the created/updated resource on success.
    enum:
      - return=representation
    in: header
    name: Prefer
    required: true
    type: string
    x-ms-parameter-location: method
  SearchDnsSuffixParameter:
    default: search.windows.net
    description: The DNS suffix of the search service. The default is search.windows.net.
    in: path
    name: searchDnsSuffix
    required: true
    type: string
    x-ms-parameter-location: client
    x-ms-skip-url-encoding: true
  SearchServiceNameParameter:
    description: The name of the search service.
    in: path
    name: searchServiceName
    required: true
    type: string
    x-ms-parameter-location: client
    x-ms-skip-url-encoding: true
paths:
  /datasources:
    get:
      description: Lists all datasources available for a search service.
      externalDocs:
        url: https://docs.microsoft.com/rest/api/searchservice/List-Data-Sources
      operationId: DataSources_List
      parameters:
        - $ref: "#/parameters/ClientRequestIdParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: ""
          schema:
            $ref: "#/definitions/DataSourceListResult"
      tags:
        - DataSources
      x-ms-examples:
        SearchServiceListDataSources:
          parameters:
            api-version: 2019-05-06
            searchDnsSuffix: search.windows.net
            searchServiceName: myservice
          responses:
            "200":
              body:
                value:
                  - container:
                      name: myDocDbCollectionId
                      query: SELECT c.id, c.userId, tag, c._ts FROM c JOIN tag IN c.tags WHERE c._ts >= @HighWaterMark ORDER BY c._ts
                    credentials:
                      connectionString: null
                    dataChangeDetectionPolicy:
                      "@odata.type": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy"
                      highWaterMarkColumnName: _ts
                    dataDeletionDetectionPolicy:
                      "@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy"
                      softDeleteColumnName: isDeleted
                      softDeleteMarkerValue: "true"
                    description: My Cosmos DB data source.
                    name: mydocdbdatasource
                    type: cosmosdb
                  - container:
                      name: mycontainer
                    credentials:
                      connectionString: null
                    dataChangeDetectionPolicy: null
                    dataDeletionDetectionPolicy: null
                    description: My Azure Blob data source.
                    name: myblobdatasource
                    type: azureblob
      x-ms-request-id: request-id
    post:
      description: Creates a new datasource.
      externalDocs:
        url: https://docs.microsoft.com/rest/api/searchservice/Create-Data-Source
      operationId: DataSources_Create
      parameters:
        - description: The definition of the datasource to create.
          in: body
          name: dataSource
          required: true
          schema:
            $ref: "#/definitions/DataSource"
        - $ref: "#/parameters/ClientRequestIdParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "201":
          description: ""
          schema:
            $ref: "#/definitions/DataSource"
      tags:
        - DataSources
      x-ms-examples:
        SearchServiceCreateDataSource:
          parameters:
            api-version: 2019-05-06
            dataSource:
              container:
                name: myDocDbCollectionId
                query: SELECT c.id, c.userId, tag, c._ts FROM c JOIN tag IN c.tags WHERE c._ts >= @HighWaterMark ORDER BY c._ts
              credentials:
                connectionString: AccountEndpoint=https://myDocDbEndpoint.documents.azure.com;AccountKey=myDocDbAuthKey;Database=myDocDbDatabaseId
              dataChangeDetectionPolicy:
                "@odata.type": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy"
                highWaterMarkColumnName: _ts
              dataDeletionDetectionPolicy:
                "@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy"
                softDeleteColumnName: isDeleted
                softDeleteMarkerValue: "true"
              description: My Cosmos DB data source.
              name: mydocdbdatasource
              type: cosmosdb
            searchDnsSuffix: search.windows.net
            searchServiceName: myservice
          responses:
            "201":
              body:
                container:
                  name: myDocDbCollectionId
                  query: SELECT c.id, c.userId, tag, c._ts FROM c JOIN tag IN c.tags WHERE c._ts >= @HighWaterMark ORDER BY c._ts
                credentials:
                  connectionString: null
                dataChangeDetectionPolicy:
                  "@odata.type": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy"
                  highWaterMarkColumnName: _ts
                dataDeletionDetectionPolicy:
                  "@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy"
                  softDeleteColumnName: isDeleted
                  softDeleteMarkerValue: "true"
                description: My Cosmos DB data source.
                name: mydocdbdatasource
                type: cosmosdb
      x-ms-request-id: request-id
  "/datasources('{dataSourceName}')":
    delete:
      description: Deletes a datasource.
      externalDocs:
        url: https://docs.microsoft.com/rest/api/searchservice/Delete-Data-Source
      operationId: DataSources_Delete
      parameters:
        - description: The name of the datasource to delete.
          in: path
          name: dataSourceName
          required: true
          type: string
        - $ref: "#/parameters/ClientRequestIdParameter"
        - $ref: "#/parameters/IfMatchParameter"
        - $ref: "#/parameters/IfNoneMatchParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "204":
          description: ""
        "404":
          description: ""
      tags:
        - DataSources
      x-ms-examples:
        SearchServiceDeleteDataSource:
          parameters:
            api-version: 2019-05-06
            dataSourceName: mydatasource
            searchDnsSuffix: search.windows.net
            searchServiceName: myservice
          responses:
            "204": {}
            "404": {}
      x-ms-request-id: request-id
    get:
      description: Retrieves a datasource definition.
      externalDocs:
        url: https://docs.microsoft.com/rest/api/searchservice/Get-Data-Source
      operationId: DataSources_Get
      parameters:
        - description: The name of the datasource to retrieve.
          in: path
          name: dataSourceName
          required: true
          type: string
        - $ref: "#/parameters/ClientRequestIdParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: ""
          schema:
            $ref: "#/definitions/DataSource"
      tags:
        - DataSources
      x-ms-examples:
        SearchServiceGetDataSource:
          parameters:
            api-version: 2019-05-06
            dataSourceName: mydatasource
            searchDnsSuffix: search.windows.net
            searchServiceName: myservice
          responses:
            "200":
              body:
                container:
                  name: myDocDbCollectionId
                  query: SELECT c.id, c.userId, tag, c._ts FROM c JOIN tag IN c.tags WHERE c._ts >= @HighWaterMark ORDER BY c._ts
                credentials:
                  connectionString: null
                dataChangeDetectionPolicy:
                  "@odata.type": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy"
                  highWaterMarkColumnName: _ts
                dataDeletionDetectionPolicy:
                  "@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy"
                  softDeleteColumnName: isDeleted
                  softDeleteMarkerValue: "true"
                description: My Cosmos DB data source.
                name: mydocdbdatasource
                type: cosmosdb
      x-ms-request-id: request-id
    put:
      description: Creates a new datasource or updates a datasource if it already exists.
      externalDocs:
        url: https://docs.microsoft.com/rest/api/searchservice/Update-Data-Source
      operationId: DataSources_CreateOrUpdate
      parameters:
        - description: The name of the datasource to create or update.
          in: path
          name: dataSourceName
          required: true
          type: string
        - description: The definition of the datasource to create or update.
          in: body
          name: dataSource
          required: true
          schema:
            $ref: "#/definitions/DataSource"
        - $ref: "#/parameters/ClientRequestIdParameter"
        - $ref: "#/parameters/IfMatchParameter"
        - $ref: "#/parameters/IfNoneMatchParameter"
        - $ref: "#/parameters/PreferHeaderParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: ""
          schema:
            $ref: "#/definitions/DataSource"
        "201":
          description: ""
          schema:
            $ref: "#/definitions/DataSource"
      tags:
        - DataSources
      x-ms-examples:
        SearchServiceCreateOrUpdateDataSource:
          parameters:
            Prefer: return=representation
            api-version: 2019-05-06
            dataSource:
              container:
                name: myDocDbCollectionId
                query: SELECT c.id, c.userId, tag, c._ts FROM c JOIN tag IN c.tags WHERE c._ts >= @HighWaterMark ORDER BY c._ts
              credentials:
                connectionString: AccountEndpoint=https://myDocDbEndpoint.documents.azure.com;AccountKey=myDocDbAuthKey;Database=myDocDbDatabaseId
              dataChangeDetectionPolicy:
                "@odata.type": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy"
                highWaterMarkColumnName: _ts
              dataDeletionDetectionPolicy:
                "@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy"
                softDeleteColumnName: isDeleted
                softDeleteMarkerValue: "true"
              description: My Cosmos DB data source.
              name: mydocdbdatasource
              type: cosmosdb
            dataSourceName: mydatasource
            searchDnsSuffix: search.windows.net
            searchServiceName: myservice
          responses:
            "200":
              body:
                container:
                  name: myDocDbCollectionId
                  query: SELECT c.id, c.userId, tag, c._ts FROM c JOIN tag IN c.tags WHERE c._ts >= @HighWaterMark ORDER BY c._ts
                credentials:
                  connectionString: null
                dataChangeDetectionPolicy:
                  "@odata.type": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy"
                  highWaterMarkColumnName: _ts
                dataDeletionDetectionPolicy:
                  "@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy"
                  softDeleteColumnName: isDeleted
                  softDeleteMarkerValue: "true"
                description: My Cosmos DB data source.
                name: mydocdbdatasource
                type: cosmosdb
            "201":
              body:
                container:
                  name: myDocDbCollectionId
                  query: SELECT c.id, c.userId, tag, c._ts FROM c JOIN tag IN c.tags WHERE c._ts >= @HighWaterMark ORDER BY c._ts
                credentials:
                  connectionString: null
                dataChangeDetectionPolicy:
                  "@odata.type": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy"
                  highWaterMarkColumnName: _ts
                dataDeletionDetectionPolicy:
                  "@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy"
                  softDeleteColumnName: isDeleted
                  softDeleteMarkerValue: "true"
                description: My Cosmos DB data source.
                name: mydocdbdatasource
                type: cosmosdb
      x-ms-request-id: request-id
  /indexers:
    get:
      description: Lists all indexers available for a search service.
      externalDocs:
        url: https://docs.microsoft.com/rest/api/searchservice/List-Indexers
      operationId: Indexers_List
      parameters:
        - $ref: "#/parameters/ClientRequestIdParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: ""
          schema:
            $ref: "#/definitions/IndexerListResult"
      tags:
        - Indexers
      x-ms-examples:
        SearchServiceListIndexers:
          parameters:
            api-version: 2019-05-06
            searchDnsSuffix: search.windows.net
            searchServiceName: myservice
          responses:
            "200":
              body:
                value:
                  - dataSourceName: mydocdbdatasource
                    description: a cool indexer
                    disabled: false
                    fieldMappings: []
                    name: myindexer
                    parameters:
                      maxFailedItems: 10
                      maxFailedItemsPerBatch: 5
                    schedule:
                      interval: PT1H
                      startTime: 2015-01-01T00:00:00Z
                    targetIndexName: orders
                  - dataSourceName: myblobdatasource
                    description: another cool indexer
                    disabled: false
                    fieldMappings:
                      - mappingFunction:
                          name: extractTokenAtPosition
                          parameters:
                            delimiter: " "
                            position: 0
                        sourceFieldName: PersonName
                        targetFieldName: FirstName
                      - mappingFunction:
                          name: extractTokenAtPosition
                          parameters:
                            delimiter: " "
                            position: 1
                        sourceFieldName: PersonName
                        targetFieldName: LastName
                    name: myotherindexer
                    parameters:
                      batchSize: 15
                      maxFailedItems: 10
                      maxFailedItemsPerBatch: 5
                    targetIndexName: orders
      x-ms-request-id: request-id
    post:
      description: Creates a new indexer.
      externalDocs:
        url: https://docs.microsoft.com/rest/api/searchservice/Create-Indexer
      operationId: Indexers_Create
      parameters:
        - description: The definition of the indexer to create.
          in: body
          name: indexer
          required: true
          schema:
            $ref: "#/definitions/Indexer"
        - $ref: "#/parameters/ClientRequestIdParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "201":
          description: ""
          schema:
            $ref: "#/definitions/Indexer"
      tags:
        - Indexers
      x-ms-examples:
        SearchServiceCreateIndexer:
          parameters:
            api-version: 2019-05-06
            indexer:
              dataSourceName: mydatasource
              description: a cool indexer
              name: myindexer
              parameters:
                maxFailedItems: 10
                maxFailedItemsPerBatch: 5
              schedule:
                interval: PT1H
                startTime: 2015-01-01T00:00:00Z
              targetIndexName: orders
            searchDnsSuffix: search.windows.net
            searchServiceName: myservice
          responses:
            "201":
              body:
                dataSourceName: mydatasource
                description: a cool indexer
                disabled: false
                fieldMappings: []
                name: myindexer
                parameters:
                  maxFailedItems: 10
                  maxFailedItemsPerBatch: 5
                schedule:
                  interval: PT1H
                  startTime: 2015-01-01T00:00:00Z
                targetIndexName: orders
      x-ms-request-id: request-id
  "/indexers('{indexerName}')":
    delete:
      description: Deletes an indexer.
      externalDocs:
        url: https://docs.microsoft.com/rest/api/searchservice/Delete-Indexer
      operationId: Indexers_Delete
      parameters:
        - description: The name of the indexer to delete.
          in: path
          name: indexerName
          required: true
          type: string
        - $ref: "#/parameters/ClientRequestIdParameter"
        - $ref: "#/parameters/IfMatchParameter"
        - $ref: "#/parameters/IfNoneMatchParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "204":
          description: ""
        "404":
          description: ""
      tags:
        - Indexers
      x-ms-examples:
        SearchServiceDeleteIndexer:
          parameters:
            api-version: 2019-05-06
            indexerName: myindexer
            searchDnsSuffix: search.windows.net
            searchServiceName: myservice
          responses:
            "204": {}
            "404": {}
      x-ms-request-id: request-id
    get:
      description: Retrieves an indexer definition.
      externalDocs:
        url: https://docs.microsoft.com/rest/api/searchservice/Get-Indexer
      operationId: Indexers_Get
      parameters:
        - description: The name of the indexer to retrieve.
          in: path
          name: indexerName
          required: true
          type: string
        - $ref: "#/parameters/ClientRequestIdParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: ""
          schema:
            $ref: "#/definitions/Indexer"
      tags:
        - Indexers
      x-ms-examples:
        SearchServiceGetIndexer:
          parameters:
            api-version: 2019-05-06
            indexerName: myindexer
            searchDnsSuffix: search.windows.net
            searchServiceName: myservice
          responses:
            "200":
              body:
                dataSourceName: mydatasource
                description: a cool indexer
                disabled: false
                fieldMappings: []
                name: myindexer
                parameters:
                  maxFailedItems: 10
                  maxFailedItemsPerBatch: 5
                schedule:
                  interval: PT1H
                  startTime: 2015-01-01T00:00:00Z
                targetIndexName: orders
      x-ms-request-id: request-id
    put:
      description: Creates a new indexer or updates an indexer if it already exists.
      externalDocs:
        url: https://docs.microsoft.com/rest/api/searchservice/Create-Indexer
      operationId: Indexers_CreateOrUpdate
      parameters:
        - description: The name of the indexer to create or update.
          in: path
          name: indexerName
          required: true
          type: string
        - description: The definition of the indexer to create or update.
          in: body
          name: indexer
          required: true
          schema:
            $ref: "#/definitions/Indexer"
        - $ref: "#/parameters/ClientRequestIdParameter"
        - $ref: "#/parameters/IfMatchParameter"
        - $ref: "#/parameters/IfNoneMatchParameter"
        - $ref: "#/parameters/PreferHeaderParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: ""
          schema:
            $ref: "#/definitions/Indexer"
        "201":
          description: ""
          schema:
            $ref: "#/definitions/Indexer"
      tags:
        - Indexers
      x-ms-examples:
        SearchServiceCreateOrUpdateIndexer:
          parameters:
            Prefer: return=representation
            api-version: 2019-05-06
            indexer:
              dataSourceName: mydatasource
              description: a cool indexer
              name: myindexer
              parameters:
                maxFailedItems: 10
                maxFailedItemsPerBatch: 5
              schedule:
                interval: PT1H
                startTime: 2015-01-01T00:00:00Z
              targetIndexName: orders
            indexerName: myindexer
            searchDnsSuffix: search.windows.net
            searchServiceName: myservice
          responses:
            "200":
              body:
                dataSourceName: mydatasource
                description: a cool indexer
                disabled: false
                fieldMappings: []
                name: myindexer
                parameters:
                  maxFailedItems: 10
                  maxFailedItemsPerBatch: 5
                schedule:
                  interval: PT1H
                  startTime: 2015-01-01T00:00:00Z
                targetIndexName: orders
            "201":
              body:
                dataSourceName: mydatasource
                description: a cool indexer
                disabled: false
                fieldMappings: []
                name: myindexer
                parameters:
                  maxFailedItems: 10
                  maxFailedItemsPerBatch: 5
                schedule:
                  interval: PT1H
                  startTime: 2015-01-01T00:00:00Z
                targetIndexName: orders
      x-ms-request-id: request-id
  "/indexers('{indexerName}')/search.reset":
    post:
      description: Resets the change tracking state associated with an indexer.
      externalDocs:
        url: https://docs.microsoft.com/rest/api/searchservice/Reset-Indexer
      operationId: Indexers_Reset
      parameters:
        - description: The name of the indexer to reset.
          in: path
          name: indexerName
          required: true
          type: string
        - $ref: "#/parameters/ClientRequestIdParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "204":
          description: ""
      tags:
        - Indexers
      x-ms-examples:
        SearchServiceResetIndexer:
          parameters:
            api-version: 2019-05-06
            indexerName: myindexer
            searchDnsSuffix: search.windows.net
            searchServiceName: myservice
          responses:
            "204": {}
      x-ms-request-id: request-id
  "/indexers('{indexerName}')/search.run":
    post:
      description: Runs an indexer on-demand.
      externalDocs:
        url: https://docs.microsoft.com/rest/api/searchservice/Run-Indexer
      operationId: Indexers_Run
      parameters:
        - description: The name of the indexer to run.
          in: path
          name: indexerName
          required: true
          type: string
        - $ref: "#/parameters/ClientRequestIdParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "202":
          description: ""
      tags:
        - Indexers
      x-ms-examples:
        SearchServiceRunIndexer:
          parameters:
            api-version: 2019-05-06
            indexerName: myindexer
            searchDnsSuffix: search.windows.net
            searchServiceName: myservice
          responses:
            "202": {}
      x-ms-request-id: request-id
  "/indexers('{indexerName}')/search.status":
    get:
      description: Returns the current status and execution history of an indexer.
      externalDocs:
        url: https://docs.microsoft.com/rest/api/searchservice/Get-Indexer-Status
      operationId: Indexers_GetStatus
      parameters:
        - description: The name of the indexer for which to retrieve status.
          in: path
          name: indexerName
          required: true
          type: string
        - $ref: "#/parameters/ClientRequestIdParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: ""
          schema:
            $ref: "#/definitions/IndexerExecutionInfo"
      tags:
        - Indexers
      x-ms-examples:
        SearchServiceGetIndexerStatus:
          parameters:
            api-version: 2019-05-06
            indexerName: myindexer
            searchDnsSuffix: search.windows.net
            searchServiceName: myservice
          responses:
            "200":
              body:
                executionHistory:
                  - endTime: 2014-11-26T03:37:19.012Z
                    errorMessage: null
                    errors: []
                    finalTrackingState: null
                    initialTrackingState: null
                    itemsFailed: 0
                    itemsProcessed: 11
                    startTime: 2014-11-26T03:37:18.853Z
                    status: success
                    warnings: []
                  - endTime: 2014-11-26T03:28:12.007Z
                    errorMessage: null
                    errors:
                      - details: null
                        documentationLink: null
                        errorMessage: Document key cannot be missing or empty.
                        key: ""
                        name: null
                        statusCode: 400
                      - details: The file could not be parsed.
                        documentationLink: https://go.microsoft.com/fwlink/?linkid=2049388
                        errorMessage: Could not read the value of column 'foo' at index '0'.
                        key: document id 1
                        name: DocumentExtraction.AzureBlob.MyDataSource
                        statusCode: 400
                    finalTrackingState: null
                    initialTrackingState: null
                    itemsFailed: 2
                    itemsProcessed: 1
                    startTime: 2014-11-26T03:28:10.125Z
                    status: transientFailure
                    warnings:
                      - details: null
                        documentationLink: null
                        key: document id
                        message: A warning doesn't stop indexing, and is intended to inform you of certain interesting situations, like when a blob indexer truncates the amount of text extracted from a blob.
                        name: null
                      - details: The skill did something that didn't break anything, nonetheless something we didn't expect happened, so it might be worth double checking.
                        documentationLink: https://go.microsoft.com/fwlink/?linkid=2099692
                        key: document id 2
                        message: Document was truncated to 50000 characters.
                        name: Enrichment.LanguageDetectionSkill.#4
                lastResult:
                  endTime: 2014-11-26T03:37:19.012Z
                  errorMessage: null
                  errors: []
                  finalTrackingState: null
                  initialTrackingState: null
                  itemsFailed: 0
                  itemsProcessed: 11
                  startTime: 2014-11-26T03:37:18.853Z
                  status: success
                  warnings: []
                limits:
                  maxDocumentContentCharactersToExtract: 4000000
                  maxDocumentExtractionSize: 256000000
                  maxRunTime: 22:00:00
                status: running
      x-ms-request-id: request-id
  /indexes:
    get:
      description: Lists all indexes available for a search service.
      externalDocs:
        url: https://docs.microsoft.com/rest/api/searchservice/List-Indexes
      operationId: Indexes_List
      parameters:
        - description: Selects which properties of the index definitions to retrieve. Specified as a comma-separated list of JSON property names, or '*' for all properties. The default is all properties.
          in: query
          name: $select
          required: false
          type: string
        - $ref: "#/parameters/ClientRequestIdParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: ""
          schema:
            $ref: "#/definitions/IndexListResult"
      tags:
        - Indexes
      x-ms-examples:
        SearchServiceListIndexes:
          parameters:
            api-version: 2019-05-06
            searchDnsSuffix: search.windows.net
            searchServiceName: myservice
          responses:
            "200":
              body:
                value:
                  - analyzers:
                      - "@odata.type": "#Microsoft.Azure.Search.CustomAnalyzer"
                        charFilters:
                          - html_strip
                        name: tagsAnalyzer
                        tokenizer: standard_v2
                    charFilters: []
                    corsOptions:
                      allowedOrigins:
                        - tempuri.org
                      maxAgeInSeconds: 60
                    defaultScoringProfile: geo
                    fields:
                      - analyzer: null
                        facetable: true
                        filterable: true
                        indexAnalyzer: null
                        key: true
                        name: hotelId
                        retrievable: true
                        searchAnalyzer: null
                        searchable: false
                        sortable: true
                        synonymMaps: []
                        type: Edm.String
                      - analyzer: null
                        facetable: true
                        filterable: true
                        indexAnalyzer: null
                        key: false
                        name: baseRate
                        retrievable: true
                        searchAnalyzer: null
                        searchable: false
                        sortable: true
                        synonymMaps: []
                        type: Edm.Double
                      - analyzer: null
                        facetable: false
                        filterable: false
                        indexAnalyzer: null
                        key: false
                        name: description
                        retrievable: true
                        searchAnalyzer: null
                        searchable: true
                        sortable: false
                        synonymMaps: []
                        type: Edm.String
                      - analyzer: fr.lucene
                        facetable: false
                        filterable: false
                        indexAnalyzer: null
                        key: false
                        name: description_fr
                        retrievable: true
                        searchAnalyzer: null
                        searchable: true
                        sortable: false
                        synonymMaps: []
                        type: Edm.String
                      - analyzer: null
                        facetable: true
                        filterable: true
                        indexAnalyzer: null
                        key: false
                        name: hotelName
                        retrievable: true
                        searchAnalyzer: null
                        searchable: true
                        sortable: true
                        synonymMaps: []
                        type: Edm.String
                      - analyzer: null
                        facetable: true
                        filterable: true
                        indexAnalyzer: null
                        key: false
                        name: category
                        retrievable: true
                        searchAnalyzer: null
                        searchable: true
                        sortable: true
                        synonymMaps: []
                        type: Edm.String
                      - analyzer: tagsAnalyzer
                        facetable: true
                        filterable: true
                        indexAnalyzer: null
                        key: false
                        name: tags
                        retrievable: true
                        searchAnalyzer: null
                        searchable: true
                        sortable: false
                        synonymMaps: []
                        type: Collection(Edm.String)
                      - analyzer: null
                        facetable: true
                        filterable: true
                        indexAnalyzer: null
                        key: false
                        name: parkingIncluded
                        retrievable: true
                        searchAnalyzer: null
                        searchable: false
                        sortable: true
                        synonymMaps: []
                        type: Edm.Boolean
                      - analyzer: null
                        facetable: true
                        filterable: true
                        indexAnalyzer: null
                        key: false
                        name: smokingAllowed
                        retrievable: true
                        searchAnalyzer: null
                        searchable: false
                        sortable: true
                        synonymMaps: []
                        type: Edm.Boolean
                      - analyzer: null
                        facetable: true
                        filterable: true
                        indexAnalyzer: null
                        key: false
                        name: lastRenovationDate
                        retrievable: true
                        searchAnalyzer: null
                        searchable: false
                        sortable: true
                        synonymMaps: []
                        type: Edm.DateTimeOffset
                      - analyzer: null
                        facetable: true
                        filterable: true
                        indexAnalyzer: null
                        key: false
                        name: rating
                        retrievable: true
                        searchAnalyzer: null
                        searchable: false
                        sortable: true
                        synonymMaps: []
                        type: Edm.Int32
                      - analyzer: null
                        facetable: false
                        filterable: true
                        indexAnalyzer: null
                        key: false
                        name: location
                        retrievable: true
                        searchAnalyzer: null
                        searchable: false
                        sortable: true
                        synonymMaps: []
                        type: Edm.GeographyPoint
                    name: hotels
                    scoringProfiles:
                      - functions:
                          - boost: 5
                            distance:
                              boostingDistance: 10
                              referencePointParameter: currentLocation
                            fieldName: location
                            interpolation: logarithmic
                            type: distance
                        name: geo
                        text:
                          weights:
                            hotelName: 5
                    suggesters:
                      - name: sg
                        searchMode: analyzingInfixMatching
                        sourceFields:
                          - hotelName
                    tokenFilters: []
                    tokenizers: []
                  - analyzers: []
                    charFilters: []
                    corsOptions: null
                    defaultScoringProfile: null
                    fields:
                      - analyzer: null
                        facetable: false
                        filterable: false
                        indexAnalyzer: null
                        key: true
                        name: id
                        retrievable: true
                        searchAnalyzer: null
                        searchable: false
                        sortable: false
                        synonymMaps: []
                        type: Edm.String
                      - analyzer: null
                        facetable: false
                        filterable: true
                        indexAnalyzer: null
                        key: false
                        name: hidden
                        retrievable: false
                        searchAnalyzer: null
                        searchable: false
                        sortable: true
                        synonymMaps: []
                        type: Edm.Double
                    name: testindex
                    scoringProfiles: []
                    suggesters: []
                    tokenFilters: []
                    tokenizers: []
      x-ms-request-id: request-id
    post:
      description: Creates a new search index.
      externalDocs:
        url: https://docs.microsoft.com/rest/api/searchservice/Create-Index
      operationId: Indexes_Create
      parameters:
        - description: The definition of the index to create.
          in: body
          name: index
          required: true
          schema:
            $ref: "#/definitions/Index"
        - $ref: "#/parameters/ClientRequestIdParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "201":
          description: ""
          schema:
            $ref: "#/definitions/Index"
      tags:
        - Indexes
      x-ms-examples:
        SearchServiceCreateIndex:
          parameters:
            api-version: 2019-05-06
            index:
              analyzers:
                - "@odata.type": "#Microsoft.Azure.Search.CustomAnalyzer"
                  charFilters:
                    - html_strip
                  name: tagsAnalyzer
                  tokenizer: standard_v2
              corsOptions:
                allowedOrigins:
                  - tempuri.org
                maxAgeInSeconds: 60
              defaultScoringProfile: geo
              fields:
                - key: true
                  name: hotelId
                  searchable: false
                  type: Edm.String
                - name: baseRate
                  type: Edm.Double
                - facetable: false
                  filterable: false
                  name: description
                  sortable: false
                  type: Edm.String
                - analyzer: fr.lucene
                  facetable: false
                  filterable: false
                  name: description_fr
                  sortable: false
                  type: Edm.String
                - name: hotelName
                  type: Edm.String
                - name: category
                  type: Edm.String
                - analyzer: tagsAnalyzer
                  name: tags
                  type: Collection(Edm.String)
                - name: parkingIncluded
                  type: Edm.Boolean
                - name: smokingAllowed
                  type: Edm.Boolean
                - name: lastRenovationDate
                  type: Edm.DateTimeOffset
                - name: rating
                  type: Edm.Int32
                - name: location
                  type: Edm.GeographyPoint
              name: hotels
              scoringProfiles:
                - functions:
                    - boost: 5
                      distance:
                        boostingDistance: 10
                        referencePointParameter: currentLocation
                      fieldName: location
                      interpolation: logarithmic
                      type: distance
                  name: geo
                  text:
                    weights:
                      hotelName: 5
              suggesters:
                - name: sg
                  searchMode: analyzingInfixMatching
                  sourceFields:
                    - hotelName
            searchDnsSuffix: search.windows.net
            searchServiceName: myservice
          responses:
            "201":
              body:
                analyzers:
                  - "@odata.type": "#Microsoft.Azure.Search.CustomAnalyzer"
                    charFilters:
                      - html_strip
                    name: tagsAnalyzer
                    tokenizer: standard_v2
                charFilters: []
                corsOptions:
                  allowedOrigins:
                    - tempuri.org
                  maxAgeInSeconds: 60
                defaultScoringProfile: geo
                fields:
                  - analyzer: null
                    facetable: true
                    filterable: true
                    indexAnalyzer: null
                    key: true
                    name: hotelId
                    retrievable: true
                    searchAnalyzer: null
                    searchable: false
                    sortable: true
                    synonymMaps: []
                    type: Edm.String
                  - analyzer: null
                    facetable: true
                    filterable: true
                    indexAnalyzer: null
                    key: false
                    name: baseRate
                    retrievable: true
                    searchAnalyzer: null
                    searchable: false
                    sortable: true
                    synonymMaps: []
                    type: Edm.Double
                  - analyzer: null
                    facetable: false
                    filterable: false
                    indexAnalyzer: null
                    key: false
                    name: description
                    retrievable: true
                    searchAnalyzer: null
                    searchable: true
                    sortable: false
                    synonymMaps: []
                    type: Edm.String
                  - analyzer: fr.lucene
                    facetable: false
                    filterable: false
                    indexAnalyzer: null
                    key: false
                    name: description_fr
                    retrievable: true
                    searchAnalyzer: null
                    searchable: true
                    sortable: false
                    synonymMaps: []
                    type: Edm.String
                  - analyzer: null
                    facetable: true
                    filterable: true
                    indexAnalyzer: null
                    key: false
                    name: hotelName
                    retrievable: true
                    searchAnalyzer: null
                    searchable: true
                    sortable: true
                    synonymMaps: []
                    type: Edm.String
                  - analyzer: null
                    facetable: true
                    filterable: true
                    indexAnalyzer: null
                    key: false
                    name: category
                    retrievable: true
                    searchAnalyzer: null
                    searchable: true
                    sortable: true
                    synonymMaps: []
                    type: Edm.String
                  - analyzer: tagsAnalyzer
                    facetable: true
                    filterable: true
                    indexAnalyzer: null
                    key: false
                    name: tags
                    retrievable: true
                    searchAnalyzer: null
                    searchable: true
                    sortable: false
                    synonymMaps: []
                    type: Collection(Edm.String)
                  - analyzer: null
                    facetable: true
                    filterable: true
                    indexAnalyzer: null
                    key: false
                    name: parkingIncluded
                    retrievable: true
                    searchAnalyzer: null
                    searchable: false
                    sortable: true
                    synonymMaps: []
                    type: Edm.Boolean
                  - analyzer: null
                    facetable: true
                    filterable: true
                    indexAnalyzer: null
                    key: false
                    name: smokingAllowed
                    retrievable: true
                    searchAnalyzer: null
                    searchable: false
                    sortable: true
                    synonymMaps: []
                    type: Edm.Boolean
                  - analyzer: null
                    facetable: true
                    filterable: true
                    indexAnalyzer: null
                    key: false
                    name: lastRenovationDate
                    retrievable: true
                    searchAnalyzer: null
                    searchable: false
                    sortable: true
                    synonymMaps: []
                    type: Edm.DateTimeOffset
                  - analyzer: null
                    facetable: true
                    filterable: true
                    indexAnalyzer: null
                    key: false
                    name: rating
                    retrievable: true
                    searchAnalyzer: null
                    searchable: false
                    sortable: true
                    synonymMaps: []
                    type: Edm.Int32
                  - analyzer: null
                    facetable: false
                    filterable: true
                    indexAnalyzer: null
                    key: false
                    name: location
                    retrievable: true
                    searchAnalyzer: null
                    searchable: false
                    sortable: true
                    synonymMaps: []
                    type: Edm.GeographyPoint
                name: hotels
                scoringProfiles:
                  - functions:
                      - boost: 5
                        distance:
                          boostingDistance: 10
                          referencePointParameter: currentLocation
                        fieldName: location
                        interpolation: logarithmic
                        type: distance
                    name: geo
                    text:
                      weights:
                        hotelName: 5
                suggesters:
                  - name: sg
                    searchMode: analyzingInfixMatching
                    sourceFields:
                      - hotelName
                tokenFilters: []
                tokenizers: []
      x-ms-request-id: request-id
  "/indexes('{indexName}')":
    delete:
      description: Deletes a search index and all the documents it contains.
      externalDocs:
        url: https://docs.microsoft.com/rest/api/searchservice/Delete-Index
      operationId: Indexes_Delete
      parameters:
        - description: The name of the index to delete.
          in: path
          name: indexName
          required: true
          type: string
        - $ref: "#/parameters/ClientRequestIdParameter"
        - $ref: "#/parameters/IfMatchParameter"
        - $ref: "#/parameters/IfNoneMatchParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "204":
          description: ""
        "404":
          description: ""
      tags:
        - Indexes
      x-ms-examples:
        SearchServiceDeleteIndex:
          parameters:
            api-version: 2019-05-06
            indexName: myindex
            searchDnsSuffix: search.windows.net
            searchServiceName: myservice
          responses:
            "204": {}
            "404": {}
      x-ms-request-id: request-id
    get:
      description: Retrieves an index definition.
      externalDocs:
        url: https://docs.microsoft.com/rest/api/searchservice/Get-Index
      operationId: Indexes_Get
      parameters:
        - description: The name of the index to retrieve.
          in: path
          name: indexName
          required: true
          type: string
        - $ref: "#/parameters/ClientRequestIdParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: ""
          schema:
            $ref: "#/definitions/Index"
      tags:
        - Indexes
      x-ms-examples:
        SearchServiceGetIndex:
          parameters:
            api-version: 2019-05-06
            indexName: hotels
            searchDnsSuffix: search.windows.net
            searchServiceName: myservice
          responses:
            "200":
              body:
                analyzers:
                  - "@odata.type": "#Microsoft.Azure.Search.CustomAnalyzer"
                    charFilters:
                      - html_strip
                    name: tagsAnalyzer
                    tokenizer: standard_v2
                charFilters: []
                corsOptions:
                  allowedOrigins:
                    - tempuri.org
                  maxAgeInSeconds: 60
                defaultScoringProfile: geo
                fields:
                  - analyzer: null
                    facetable: true
                    filterable: true
                    indexAnalyzer: null
                    key: true
                    name: hotelId
                    retrievable: true
                    searchAnalyzer: null
                    searchable: false
                    sortable: true
                    synonymMaps: []
                    type: Edm.String
                  - analyzer: null
                    facetable: true
                    filterable: true
                    indexAnalyzer: null
                    key: false
                    name: baseRate
                    retrievable: true
                    searchAnalyzer: null
                    searchable: false
                    sortable: true
                    synonymMaps: []
                    type: Edm.Double
                  - analyzer: null
                    facetable: false
                    filterable: false
                    indexAnalyzer: null
                    key: false
                    name: description
                    retrievable: true
                    searchAnalyzer: null
                    searchable: true
                    sortable: false
                    synonymMaps: []
                    type: Edm.String
                  - analyzer: fr.lucene
                    facetable: false
                    filterable: false
                    indexAnalyzer: null
                    key: false
                    name: description_fr
                    retrievable: true
                    searchAnalyzer: null
                    searchable: true
                    sortable: false
                    synonymMaps: []
                    type: Edm.String
                  - analyzer: null
                    facetable: true
                    filterable: true
                    indexAnalyzer: null
                    key: false
                    name: hotelName
                    retrievable: true
                    searchAnalyzer: null
                    searchable: true
                    sortable: true
                    synonymMaps: []
                    type: Edm.String
                  - analyzer: null
                    facetable: true
                    filterable: true
                    indexAnalyzer: null
                    key: false
                    name: category
                    retrievable: true
                    searchAnalyzer: null
                    searchable: true
                    sortable: true
                    synonymMaps: []
                    type: Edm.String
                  - analyzer: tagsAnalyzer
                    facetable: true
                    filterable: true
                    indexAnalyzer: null
                    key: false
                    name: tags
                    retrievable: true
                    searchAnalyzer: null
                    searchable: true
                    sortable: false
                    synonymMaps: []
                    type: Collection(Edm.String)
                  - analyzer: null
                    facetable: true
                    filterable: true
                    indexAnalyzer: null
                    key: false
                    name: parkingIncluded
                    retrievable: true
                    searchAnalyzer: null
                    searchable: false
                    sortable: true
                    synonymMaps: []
                    type: Edm.Boolean
                  - analyzer: null
                    facetable: true
                    filterable: true
                    indexAnalyzer: null
                    key: false
                    name: smokingAllowed
                    retrievable: true
                    searchAnalyzer: null
                    searchable: false
                    sortable: true
                    synonymMaps: []
                    type: Edm.Boolean
                  - analyzer: null
                    facetable: true
                    filterable: true
                    indexAnalyzer: null
                    key: false
                    name: lastRenovationDate
                    retrievable: true
                    searchAnalyzer: null
                    searchable: false
                    sortable: true
                    synonymMaps: []
                    type: Edm.DateTimeOffset
                  - analyzer: null
                    facetable: true
                    filterable: true
                    indexAnalyzer: null
                    key: false
                    name: rating
                    retrievable: true
                    searchAnalyzer: null
                    searchable: false
                    sortable: true
                    synonymMaps: []
                    type: Edm.Int32
                  - analyzer: null
                    facetable: false
                    filterable: true
                    indexAnalyzer: null
                    key: false
                    name: location
                    retrievable: true
                    searchAnalyzer: null
                    searchable: false
                    sortable: true
                    synonymMaps: []
                    type: Edm.GeographyPoint
                name: hotels
                scoringProfiles:
                  - functions:
                      - boost: 5
                        distance:
                          boostingDistance: 10
                          referencePointParameter: currentLocation
                        fieldName: location
                        interpolation: logarithmic
                        type: distance
                    name: geo
                    text:
                      weights:
                        hotelName: 5
                suggesters:
                  - name: sg
                    searchMode: analyzingInfixMatching
                    sourceFields:
                      - hotelName
                tokenFilters: []
                tokenizers: []
      x-ms-request-id: request-id
    put:
      description: Creates a new search index or updates an index if it already exists.
      externalDocs:
        url: https://docs.microsoft.com/rest/api/searchservice/Update-Index
      operationId: Indexes_CreateOrUpdate
      parameters:
        - description: The definition of the index to create or update.
          in: path
          name: indexName
          required: true
          type: string
        - description: The definition of the index to create or update.
          in: body
          name: index
          required: true
          schema:
            $ref: "#/definitions/Index"
        - description: Allows new analyzers, tokenizers, token filters, or char filters to be added to an index by taking the index offline for at least a few seconds. This temporarily causes indexing and query requests to fail. Performance and write availability of the index can be impaired for several minutes after the index is updated, or longer for very large indexes.
          in: query
          name: allowIndexDowntime
          required: false
          type: boolean
        - $ref: "#/parameters/ClientRequestIdParameter"
        - $ref: "#/parameters/IfMatchParameter"
        - $ref: "#/parameters/IfNoneMatchParameter"
        - $ref: "#/parameters/PreferHeaderParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: ""
          schema:
            $ref: "#/definitions/Index"
        "201":
          description: ""
          schema:
            $ref: "#/definitions/Index"
      tags:
        - Indexes
      x-ms-examples:
        SearchServiceCreateOrUpdateIndex:
          parameters:
            Prefer: return=representation
            allowIndexDowntime: false
            api-version: 2019-05-06
            index:
              analyzers:
                - "@odata.type": "#Microsoft.Azure.Search.CustomAnalyzer"
                  charFilters:
                    - html_strip
                  name: tagsAnalyzer
                  tokenizer: standard_v2
              corsOptions:
                allowedOrigins:
                  - tempuri.org
                maxAgeInSeconds: 60
              defaultScoringProfile: geo
              fields:
                - key: true
                  name: hotelId
                  searchable: false
                  type: Edm.String
                - name: baseRate
                  type: Edm.Double
                - facetable: false
                  filterable: false
                  name: description
                  sortable: false
                  type: Edm.String
                - analyzer: fr.lucene
                  facetable: false
                  filterable: false
                  name: description_fr
                  sortable: false
                  type: Edm.String
                - name: hotelName
                  type: Edm.String
                - name: category
                  type: Edm.String
                - analyzer: tagsAnalyzer
                  name: tags
                  type: Collection(Edm.String)
                - name: parkingIncluded
                  type: Edm.Boolean
                - name: smokingAllowed
                  type: Edm.Boolean
                - name: lastRenovationDate
                  type: Edm.DateTimeOffset
                - name: rating
                  type: Edm.Int32
                - name: location
                  type: Edm.GeographyPoint
              name: hotels
              scoringProfiles:
                - functions:
                    - boost: 5
                      distance:
                        boostingDistance: 10
                        referencePointParameter: currentLocation
                      fieldName: location
                      interpolation: logarithmic
                      type: distance
                  name: geo
                  text:
                    weights:
                      hotelName: 5
              suggesters:
                - name: sg
                  searchMode: analyzingInfixMatching
                  sourceFields:
                    - hotelName
            indexName: hotels
            searchDnsSuffix: search.windows.net
            searchServiceName: myservice
          responses:
            "200":
              body:
                analyzers:
                  - "@odata.type": "#Microsoft.Azure.Search.CustomAnalyzer"
                    charFilters:
                      - html_strip
                    name: tagsAnalyzer
                    tokenizer: standard_v2
                charFilters: []
                corsOptions:
                  allowedOrigins:
                    - tempuri.org
                  maxAgeInSeconds: 60
                defaultScoringProfile: geo
                fields:
                  - analyzer: null
                    facetable: true
                    filterable: true
                    indexAnalyzer: null
                    key: true
                    name: hotelId
                    retrievable: true
                    searchAnalyzer: null
                    searchable: false
                    sortable: true
                    synonymMaps: []
                    type: Edm.String
                  - analyzer: null
                    facetable: true
                    filterable: true
                    indexAnalyzer: null
                    key: false
                    name: baseRate
                    retrievable: true
                    searchAnalyzer: null
                    searchable: false
                    sortable: true
                    synonymMaps: []
                    type: Edm.Double
                  - analyzer: null
                    facetable: false
                    filterable: false
                    indexAnalyzer: null
                    key: false
                    name: description
                    retrievable: true
                    searchAnalyzer: null
                    searchable: true
                    sortable: false
                    synonymMaps: []
                    type: Edm.String
                  - analyzer: fr.lucene
                    facetable: false
                    filterable: false
                    indexAnalyzer: null
                    key: false
                    name: description_fr
                    retrievable: true
                    searchAnalyzer: null
                    searchable: true
                    sortable: false
                    synonymMaps: []
                    type: Edm.String
                  - analyzer: null
                    facetable: true
                    filterable: true
                    indexAnalyzer: null
                    key: false
                    name: hotelName
                    retrievable: true
                    searchAnalyzer: null
                    searchable: true
                    sortable: true
                    synonymMaps: []
                    type: Edm.String
                  - analyzer: null
                    facetable: true
                    filterable: true
                    indexAnalyzer: null
                    key: false
                    name: category
                    retrievable: true
                    searchAnalyzer: null
                    searchable: true
                    sortable: true
                    synonymMaps: []
                    type: Edm.String
                  - analyzer: tagsAnalyzer
                    facetable: true
                    filterable: true
                    indexAnalyzer: null
                    key: false
                    name: tags
                    retrievable: true
                    searchAnalyzer: null
                    searchable: true
                    sortable: false
                    synonymMaps: []
                    type: Collection(Edm.String)
                  - analyzer: null
                    facetable: true
                    filterable: true
                    indexAnalyzer: null
                    key: false
                    name: parkingIncluded
                    retrievable: true
                    searchAnalyzer: null
                    searchable: false
                    sortable: true
                    synonymMaps: []
                    type: Edm.Boolean
                  - analyzer: null
                    facetable: true
                    filterable: true
                    indexAnalyzer: null
                    key: false
                    name: smokingAllowed
                    retrievable: true
                    searchAnalyzer: null
                    searchable: false
                    sortable: true
                    synonymMaps: []
                    type: Edm.Boolean
                  - analyzer: null
                    facetable: true
                    filterable: true
                    indexAnalyzer: null
                    key: false
                    name: lastRenovationDate
                    retrievable: true
                    searchAnalyzer: null
                    searchable: false
                    sortable: true
                    synonymMaps: []
                    type: Edm.DateTimeOffset
                  - analyzer: null
                    facetable: true
                    filterable: true
                    indexAnalyzer: null
                    key: false
                    name: rating
                    retrievable: true
                    searchAnalyzer: null
                    searchable: false
                    sortable: true
                    synonymMaps: []
                    type: Edm.Int32
                  - analyzer: null
                    facetable: false
                    filterable: true
                    indexAnalyzer: null
                    key: false
                    name: location
                    retrievable: true
                    searchAnalyzer: null
                    searchable: false
                    sortable: true
                    synonymMaps: []
                    type: Edm.GeographyPoint
                name: hotels
                scoringProfiles:
                  - functions:
                      - boost: 5
                        distance:
                          boostingDistance: 10
                          referencePointParameter: currentLocation
                        fieldName: location
                        interpolation: logarithmic
                        type: distance
                    name: geo
                    text:
                      weights:
                        hotelName: 5
                suggesters:
                  - name: sg
                    searchMode: analyzingInfixMatching
                    sourceFields:
                      - hotelName
                tokenFilters: []
                tokenizers: []
            "201":
              body:
                analyzers:
                  - "@odata.type": "#Microsoft.Azure.Search.CustomAnalyzer"
                    charFilters:
                      - html_strip
                    name: tagsAnalyzer
                    tokenizer: standard_v2
                charFilters: []
                corsOptions:
                  allowedOrigins:
                    - tempuri.org
                  maxAgeInSeconds: 60
                defaultScoringProfile: geo
                fields:
                  - analyzer: null
                    facetable: true
                    filterable: true
                    indexAnalyzer: null
                    key: true
                    name: hotelId
                    retrievable: true
                    searchAnalyzer: null
                    searchable: false
                    sortable: true
                    synonymMaps: []
                    type: Edm.String
                  - analyzer: null
                    facetable: true
                    filterable: true
                    indexAnalyzer: null
                    key: false
                    name: baseRate
                    retrievable: true
                    searchAnalyzer: null
                    searchable: false
                    sortable: true
                    synonymMaps: []
                    type: Edm.Double
                  - analyzer: null
                    facetable: false
                    filterable: false
                    indexAnalyzer: null
                    key: false
                    name: description
                    retrievable: true
                    searchAnalyzer: null
                    searchable: true
                    sortable: false
                    synonymMaps: []
                    type: Edm.String
                  - analyzer: fr.lucene
                    facetable: false
                    filterable: false
                    indexAnalyzer: null
                    key: false
                    name: description_fr
                    retrievable: true
                    searchAnalyzer: null
                    searchable: true
                    sortable: false
                    synonymMaps: []
                    type: Edm.String
                  - analyzer: null
                    facetable: true
                    filterable: true
                    indexAnalyzer: null
                    key: false
                    name: hotelName
                    retrievable: true
                    searchAnalyzer: null
                    searchable: true
                    sortable: true
                    synonymMaps: []
                    type: Edm.String
                  - analyzer: null
                    facetable: true
                    filterable: true
                    indexAnalyzer: null
                    key: false
                    name: category
                    retrievable: true
                    searchAnalyzer: null
                    searchable: true
                    sortable: true
                    synonymMaps: []
                    type: Edm.String
                  - analyzer: tagsAnalyzer
                    facetable: true
                    filterable: true
                    indexAnalyzer: null
                    key: false
                    name: tags
                    retrievable: true
                    searchAnalyzer: null
                    searchable: true
                    sortable: false
                    synonymMaps: []
                    type: Collection(Edm.String)
                  - analyzer: null
                    facetable: true
                    filterable: true
                    indexAnalyzer: null
                    key: false
                    name: parkingIncluded
                    retrievable: true
                    searchAnalyzer: null
                    searchable: false
                    sortable: true
                    synonymMaps: []
                    type: Edm.Boolean
                  - analyzer: null
                    facetable: true
                    filterable: true
                    indexAnalyzer: null
                    key: false
                    name: smokingAllowed
                    retrievable: true
                    searchAnalyzer: null
                    searchable: false
                    sortable: true
                    synonymMaps: []
                    type: Edm.Boolean
                  - analyzer: null
                    facetable: true
                    filterable: true
                    indexAnalyzer: null
                    key: false
                    name: lastRenovationDate
                    retrievable: true
                    searchAnalyzer: null
                    searchable: false
                    sortable: true
                    synonymMaps: []
                    type: Edm.DateTimeOffset
                  - analyzer: null
                    facetable: true
                    filterable: true
                    indexAnalyzer: null
                    key: false
                    name: rating
                    retrievable: true
                    searchAnalyzer: null
                    searchable: false
                    sortable: true
                    synonymMaps: []
                    type: Edm.Int32
                  - analyzer: null
                    facetable: false
                    filterable: true
                    indexAnalyzer: null
                    key: false
                    name: location
                    retrievable: true
                    searchAnalyzer: null
                    searchable: false
                    sortable: true
                    synonymMaps: []
                    type: Edm.GeographyPoint
                name: hotels
                scoringProfiles:
                  - functions:
                      - boost: 5
                        distance:
                          boostingDistance: 10
                          referencePointParameter: currentLocation
                        fieldName: location
                        interpolation: logarithmic
                        type: distance
                    name: geo
                    text:
                      weights:
                        hotelName: 5
                suggesters:
                  - name: sg
                    searchMode: analyzingInfixMatching
                    sourceFields:
                      - hotelName
                tokenFilters: []
                tokenizers: []
      x-ms-request-id: request-id
  "/indexes('{indexName}')/search.analyze":
    post:
      description: Shows how an analyzer breaks text into tokens.
      externalDocs:
        url: https://docs.microsoft.com/rest/api/searchservice/test-analyzer
      operationId: Indexes_Analyze
      parameters:
        - description: The name of the index for which to test an analyzer.
          in: path
          name: indexName
          required: true
          type: string
        - description: The text and analyzer or analysis components to test.
          in: body
          name: request
          required: true
          schema:
            $ref: "#/definitions/AnalyzeRequest"
        - $ref: "#/parameters/ClientRequestIdParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: ""
          schema:
            $ref: "#/definitions/AnalyzeResult"
      tags:
        - Indexes
      x-ms-examples:
        SearchServiceIndexAnalyze:
          parameters:
            api-version: 2019-05-06
            indexName: hotels
            request:
              analyzer: standard.lucene
              text: Text to analyze
            searchDnsSuffix: search.windows.net
            searchServiceName: myservice
          responses:
            "200":
              body:
                tokens:
                  - endOffset: 4
                    position: 0
                    startOffset: 0
                    token: text
                  - endOffset: 7
                    position: 1
                    startOffset: 5
                    token: to
                  - endOffset: 15
                    position: 2
                    startOffset: 8
                    token: analyze
      x-ms-request-id: request-id
  "/indexes('{indexName}')/search.stats":
    get:
      description: Returns statistics for the given index, including a document count and storage usage.
      externalDocs:
        url: https://docs.microsoft.com/rest/api/searchservice/Get-Index-Statistics
      operationId: Indexes_GetStatistics
      parameters:
        - description: The name of the index for which to retrieve statistics.
          in: path
          name: indexName
          required: true
          type: string
        - $ref: "#/parameters/ClientRequestIdParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: ""
          schema:
            $ref: "#/definitions/IndexGetStatisticsResult"
      tags:
        - Indexes
      x-ms-examples:
        SearchServiceGetIndexStatistics:
          parameters:
            api-version: 2019-05-06
            indexName: hotels
            searchDnsSuffix: search.windows.net
            searchServiceName: myservice
          responses:
            "200":
              body:
                documentCount: 239572
                storageSize: 72375920
      x-ms-request-id: request-id
  /servicestats:
    get:
      description: Gets service level statistics for a search service.
      operationId: GetServiceStatistics
      parameters:
        - $ref: "#/parameters/ClientRequestIdParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: ""
          schema:
            $ref: "#/definitions/ServiceStatistics"
      tags:
        - Service
      x-ms-examples:
        SearchServiceGetServiceStatistics:
          parameters:
            api-version: 2019-05-06
            searchDnsSuffix: search.windows.net
            searchServiceName: myservice
          responses:
            "200":
              body:
                counters:
                  dataSourcesCount:
                    quota: 3
                    usage: 1
                  documentCount:
                    quota: 10000
                    usage: 7093
                  indexersCount:
                    quota: 3
                    usage: 3
                  indexesCount:
                    quota: 3
                    usage: 3
                  storageSize:
                    quota: 52428800
                    usage: 914529
                  synonymMaps:
                    quota: 3
                    usage: 2
                limits:
                  maxComplexCollectionFieldsPerIndex: 100
                  maxComplexObjectsInCollectionsPerDocument: 3000
                  maxFieldNestingDepthPerIndex: 10
                  maxFieldsPerIndex: 1000
      x-ms-request-id: request-id
  /skillsets:
    get:
      description: List all skillsets in a search service.
      externalDocs:
        url: https://docs.microsoft.com/rest/api/searchservice/list-skillset
      operationId: Skillsets_List
      parameters:
        - $ref: "#/parameters/ClientRequestIdParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The list is successfully returned.
          schema:
            $ref: "#/definitions/SkillsetListResult"
      tags:
        - Skillsets
      x-ms-examples:
        SearchServiceListSkillsets:
          parameters:
            api-version: 2019-05-06
            searchDnsSuffix: search.windows.net
            searchServiceName: myservice
          responses:
            "200":
              body:
                value:
                  - description: Extract entities, detect language and extract key-phrases
                    name: demoskillset
                    skills:
                      - "@odata.type": "#Microsoft.Skills.Text.EntityRecognitionSkill"
                        categories:
                          - organization
                        context: null
                        defaultLanguageCode: en
                        description: null
                        inputs:
                          - name: text
                            source: /document/content
                        minimumPrecision: 0.7
                        name: "#1"
                        outputs:
                          - name: organizations
                            targetName: organizations
                      - "@odata.type": "#Microsoft.Skills.Text.LanguageDetectionSkill"
                        context: null
                        description: null
                        inputs:
                          - name: text
                            source: /document/content
                        name: "#2"
                        outputs:
                          - name: languageCode
                            targetName: languageCode
                      - "@odata.type": "#Microsoft.Skills.Text.SplitSkill"
                        context: null
                        defaultLanguageCode: null
                        description: null
                        inputs:
                          - name: text
                            source: /document/content
                          - name: languageCode
                            source: /document/languageCode
                        maximumPageLength: 4000
                        name: "#3"
                        outputs:
                          - name: textItems
                            targetName: pages
                        textSplitMode: pages
                      - "@odata.type": "#Microsoft.Skills.Text.KeyPhraseExtractionSkill"
                        context: /document/pages/*
                        defaultLanguageCode: null
                        description: null
                        inputs:
                          - name: text
                            source: /document/pages/*
                          - name: languageCode
                            source: /document/languageCode
                        maxKeyPhraseCount: null
                        name: "#4"
                        outputs:
                          - name: keyPhrases
                            targetName: keyPhrases
                      - "@odata.type": "#Microsoft.Skills.Custom.WebApiSkill"
                        batchSize: 1
                        context: /document
                        degreeOfParallelism: null
                        description: null
                        httpHeaders: {}
                        httpMethod: POST
                        inputs:
                          - name: text
                            source: /document/pages/*
                          - name: languageCode
                            source: /document/languageCode
                        name: MyCustomWebApiSkill
                        outputs:
                          - name: customresult
                            targetName: result
                        timeout: PT30S
                        uri: https://contoso.example.org
      x-ms-request-id: request-id
    post:
      description: Creates a new skillset in a search service.
      externalDocs:
        url: https://docs.microsoft.com/rest/api/searchservice/create-skillset
      operationId: Skillsets_Create
      parameters:
        - description: The skillset containing one or more skills to create in a search service.
          in: body
          name: skillset
          required: true
          schema:
            $ref: "#/definitions/Skillset"
        - $ref: "#/parameters/ClientRequestIdParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "201":
          description: The skillset is successfully created.
          schema:
            $ref: "#/definitions/Skillset"
      tags:
        - Skillsets
      x-ms-examples:
        SearchServiceCreateSkillset:
          parameters:
            Prefer: return=representation
            api-version: 2019-05-06
            searchDnsSuffix: search.windows.net
            searchServiceName: myservice
            skillset:
              description: Extract entities, detect language and extract key-phrases
              name: demoskillset
              skills:
                - "@odata.type": "#Microsoft.Skills.Text.EntityRecognitionSkill"
                  categories:
                    - organization
                  defaultLanguageCode: en
                  inputs:
                    - name: text
                      source: /document/content
                  minimumPrecision: 0.7
                  outputs:
                    - name: organizations
                      targetName: organizations
                - "@odata.type": "#Microsoft.Skills.Text.LanguageDetectionSkill"
                  inputs:
                    - name: text
                      source: /document/content
                  outputs:
                    - name: languageCode
                      targetName: languageCode
                - "@odata.type": "#Microsoft.Skills.Text.SplitSkill"
                  inputs:
                    - name: text
                      source: /document/content
                    - name: languageCode
                      source: /document/languageCode
                  maximumPageLength: 4000
                  outputs:
                    - name: textItems
                      targetName: pages
                  textSplitMode: pages
                - "@odata.type": "#Microsoft.Skills.Text.KeyPhraseExtractionSkill"
                  context: /document/pages/*
                  inputs:
                    - name: text
                      source: /document/pages/*
                    - name: languageCode
                      source: /document/languageCode
                  outputs:
                    - name: keyPhrases
                      targetName: keyPhrases
                - "@odata.type": "#Microsoft.Skills.Custom.WebApiSkill"
                  batchSize: 1
                  httpHeaders: {}
                  httpMethod: POST
                  inputs:
                    - name: text
                      source: /document/pages/*
                    - name: languageCode
                      source: /document/languageCode
                  name: MyCustomWebApiSkill
                  outputs:
                    - name: customresult
                      targetName: result
                  timeout: PT30S
                  uri: https://contoso.example.org
            skillsetName: demoskillset
          responses:
            "201":
              body:
                description: Extract entities, detect language and extract key-phrases
                name: demoskillset
                skills:
                  - "@odata.type": "#Microsoft.Skills.Text.EntityRecognitionSkill"
                    categories:
                      - organization
                    context: null
                    defaultLanguageCode: en
                    description: null
                    inputs:
                      - name: text
                        source: /document/content
                    minimumPrecision: 0.7
                    name: "#1"
                    outputs:
                      - name: organizations
                        targetName: organizations
                  - "@odata.type": "#Microsoft.Skills.Text.LanguageDetectionSkill"
                    context: null
                    description: null
                    inputs:
                      - name: text
                        source: /document/content
                    name: "#2"
                    outputs:
                      - name: languageCode
                        targetName: languageCode
                  - "@odata.type": "#Microsoft.Skills.Text.SplitSkill"
                    context: null
                    defaultLanguageCode: null
                    description: null
                    inputs:
                      - name: text
                        source: /document/content
                      - name: languageCode
                        source: /document/languageCode
                    maximumPageLength: 4000
                    name: "#3"
                    outputs:
                      - name: textItems
                        targetName: pages
                    textSplitMode: pages
                  - "@odata.type": "#Microsoft.Skills.Text.KeyPhraseExtractionSkill"
                    context: /document/pages/*
                    defaultLanguageCode: null
                    description: null
                    inputs:
                      - name: text
                        source: /document/pages/*
                      - name: languageCode
                        source: /document/languageCode
                    maxKeyPhraseCount: null
                    name: "#4"
                    outputs:
                      - name: keyPhrases
                        targetName: keyPhrases
                  - "@odata.type": "#Microsoft.Skills.Custom.WebApiSkill"
                    batchSize: 1
                    context: /document
                    degreeOfParallelism: null
                    description: null
                    httpHeaders: {}
                    httpMethod: POST
                    inputs:
                      - name: text
                        source: /document/pages/*
                      - name: languageCode
                        source: /document/languageCode
                    name: MyCustomWebApiSkill
                    outputs:
                      - name: customresult
                        targetName: result
                    timeout: PT30S
                    uri: https://contoso.example.org
      x-ms-request-id: request-id
  "/skillsets('{skillsetName}')":
    delete:
      description: Deletes a skillset in a search service.
      externalDocs:
        url: https://docs.microsoft.com/rest/api/searchservice/delete-skillset
      operationId: Skillsets_Delete
      parameters:
        - description: The name of the skillset to delete.
          in: path
          name: skillsetName
          required: true
          type: string
        - $ref: "#/parameters/ClientRequestIdParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "204":
          description: The skillset is successfully deleted.
        "404":
          description: The provided skillset name is not found.
      tags:
        - Skillsets
      x-ms-examples:
        SearchServiceDeleteSkillset:
          parameters:
            api-version: 2019-05-06
            searchDnsSuffix: search.windows.net
            searchServiceName: myservice
            skillsetName: demoskillset
          responses:
            "204": {}
            "404": {}
      x-ms-request-id: request-id
    get:
      description: Retrieves a skillset in a search service.
      externalDocs:
        url: https://docs.microsoft.com/rest/api/searchservice/get-skillset
      operationId: Skillsets_Get
      parameters:
        - description: The name of the skillset to retrieve.
          in: path
          name: skillsetName
          required: true
          type: string
        - $ref: "#/parameters/ClientRequestIdParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The skillset is successfully returned.
          schema:
            $ref: "#/definitions/Skillset"
      tags:
        - Skillsets
      x-ms-examples:
        SearchServiceGetSkillset:
          parameters:
            api-version: 2019-05-06
            searchDnsSuffix: search.windows.net
            searchServiceName: myservice
            skillsetName: demoskillset
          responses:
            "200":
              body:
                description: Extract entities, detect language and extract key-phrases
                name: demoskillset
                skills:
                  - "@odata.type": "#Microsoft.Skills.Text.EntityRecognitionSkill"
                    categories:
                      - organization
                    context: null
                    defaultLanguageCode: en
                    description: null
                    inputs:
                      - name: text
                        source: /document/content
                    minimumPrecision: 0.7
                    name: "#1"
                    outputs:
                      - name: organizations
                        targetName: organizations
                  - "@odata.type": "#Microsoft.Skills.Text.LanguageDetectionSkill"
                    context: null
                    description: null
                    inputs:
                      - name: text
                        source: /document/content
                    name: "#2"
                    outputs:
                      - name: languageCode
                        targetName: languageCode
                  - "@odata.type": "#Microsoft.Skills.Text.SplitSkill"
                    context: null
                    defaultLanguageCode: null
                    description: null
                    inputs:
                      - name: text
                        source: /document/content
                      - name: languageCode
                        source: /document/languageCode
                    maximumPageLength: 4000
                    name: "#3"
                    outputs:
                      - name: textItems
                        targetName: pages
                    textSplitMode: pages
                  - "@odata.type": "#Microsoft.Skills.Text.KeyPhraseExtractionSkill"
                    context: /document/pages/*
                    defaultLanguageCode: null
                    description: null
                    inputs:
                      - name: text
                        source: /document/pages/*
                      - name: languageCode
                        source: /document/languageCode
                    maxKeyPhraseCount: null
                    name: "#4"
                    outputs:
                      - name: keyPhrases
                        targetName: keyPhrases
                  - "@odata.type": "#Microsoft.Skills.Custom.WebApiSkill"
                    batchSize: 1
                    context: /document
                    degreeOfParallelism: null
                    description: null
                    httpHeaders: {}
                    httpMethod: POST
                    inputs:
                      - name: text
                        source: /document/pages/*
                      - name: languageCode
                        source: /document/languageCode
                    name: MyCustomWebApiSkill
                    outputs:
                      - name: customresult
                        targetName: result
                    timeout: PT30S
                    uri: https://contoso.example.org
      x-ms-request-id: request-id
    put:
      description: Creates a new skillset in a search service or updates the skillset if it already exists.
      externalDocs:
        url: https://docs.microsoft.com/rest/api/searchservice/update-skillset
      operationId: Skillsets_CreateOrUpdate
      parameters:
        - description: The name of the skillset to create or update.
          in: path
          name: skillsetName
          required: true
          type: string
        - description: The skillset containing one or more skills to create or update in a search service.
          in: body
          name: skillset
          required: true
          schema:
            $ref: "#/definitions/Skillset"
        - $ref: "#/parameters/ClientRequestIdParameter"
        - $ref: "#/parameters/PreferHeaderParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The skillset is successfully updated.
          schema:
            $ref: "#/definitions/Skillset"
        "201":
          description: The skillset is successfully created.
          schema:
            $ref: "#/definitions/Skillset"
      tags:
        - Skillsets
      x-ms-examples:
        SearchServiceCreateOrUpdateSkillset:
          parameters:
            Prefer: return=representation
            api-version: 2019-05-06
            searchDnsSuffix: search.windows.net
            searchServiceName: myservice
            skillset:
              description: Extract entities, detect language and extract key-phrases
              name: demoskillset
              skills:
                - "@odata.type": "#Microsoft.Skills.Text.EntityRecognitionSkill"
                  categories:
                    - organization
                  defaultLanguageCode: en
                  inputs:
                    - name: text
                      source: /document/content
                  minimumPrecision: 0.7
                  outputs:
                    - name: organizations
                      targetName: organizations
                - "@odata.type": "#Microsoft.Skills.Text.LanguageDetectionSkill"
                  inputs:
                    - name: text
                      source: /document/content
                  outputs:
                    - name: languageCode
                      targetName: languageCode
                - "@odata.type": "#Microsoft.Skills.Text.SplitSkill"
                  inputs:
                    - name: text
                      source: /document/content
                    - name: languageCode
                      source: /document/languageCode
                  maximumPageLength: 4000
                  outputs:
                    - name: textItems
                      targetName: pages
                  textSplitMode: pages
                - "@odata.type": "#Microsoft.Skills.Text.KeyPhraseExtractionSkill"
                  context: /document/pages/*
                  inputs:
                    - name: text
                      source: /document/pages/*
                    - name: languageCode
                      source: /document/languageCode
                  outputs:
                    - name: keyPhrases
                      targetName: keyPhrases
                - "@odata.type": "#Microsoft.Skills.Custom.WebApiSkill"
                  batchSize: 1
                  httpHeaders: {}
                  httpMethod: POST
                  inputs:
                    - name: text
                      source: /document/pages/*
                    - name: languageCode
                      source: /document/languageCode
                  name: MyCustomWebApiSkill
                  outputs:
                    - name: customresult
                      targetName: result
                  timeout: PT30S
                  uri: https://contoso.example.org
            skillsetName: demoskillset
          responses:
            "200":
              body:
                description: Extract entities, detect language and extract key-phrases
                name: demoskillset
                skills:
                  - "@odata.type": "#Microsoft.Skills.Text.EntityRecognitionSkill"
                    categories:
                      - organization
                    context: null
                    defaultLanguageCode: en
                    description: null
                    inputs:
                      - name: text
                        source: /document/content
                    minimumPrecision: 0.7
                    name: "#1"
                    outputs:
                      - name: organizations
                        targetName: organizations
                  - "@odata.type": "#Microsoft.Skills.Text.LanguageDetectionSkill"
                    context: null
                    description: null
                    inputs:
                      - name: text
                        source: /document/content
                    name: "#2"
                    outputs:
                      - name: languageCode
                        targetName: languageCode
                  - "@odata.type": "#Microsoft.Skills.Text.SplitSkill"
                    context: null
                    defaultLanguageCode: null
                    description: null
                    inputs:
                      - name: text
                        source: /document/content
                      - name: languageCode
                        source: /document/languageCode
                    maximumPageLength: 4000
                    name: "#3"
                    outputs:
                      - name: textItems
                        targetName: pages
                    textSplitMode: pages
                  - "@odata.type": "#Microsoft.Skills.Text.KeyPhraseExtractionSkill"
                    context: /document/pages/*
                    defaultLanguageCode: null
                    description: null
                    inputs:
                      - name: text
                        source: /document/pages/*
                      - name: languageCode
                        source: /document/languageCode
                    maxKeyPhraseCount: null
                    name: "#4"
                    outputs:
                      - name: keyPhrases
                        targetName: keyPhrases
                  - "@odata.type": "#Microsoft.Skills.Custom.WebApiSkill"
                    batchSize: 1
                    context: /document
                    degreeOfParallelism: null
                    description: null
                    httpHeaders: {}
                    httpMethod: POST
                    inputs:
                      - name: text
                        source: /document/pages/*
                      - name: languageCode
                        source: /document/languageCode
                    name: MyCustomWebApiSkill
                    outputs:
                      - name: customresult
                        targetName: result
                    timeout: PT30S
                    uri: https://contoso.example.org
            "201":
              body:
                description: Extract entities, detect language and extract key-phrases
                name: demoskillset
                skills:
                  - "@odata.type": "#Microsoft.Skills.Text.EntityRecognitionSkill"
                    categories:
                      - organization
                    context: null
                    defaultLanguageCode: en
                    description: null
                    inputs:
                      - name: text
                        source: /document/content
                    minimumPrecision: 0.7
                    name: "#1"
                    outputs:
                      - name: organizations
                        targetName: organizations
                  - "@odata.type": "#Microsoft.Skills.Text.LanguageDetectionSkill"
                    context: null
                    description: null
                    inputs:
                      - name: text
                        source: /document/content
                    name: "#2"
                    outputs:
                      - name: languageCode
                        targetName: languageCode
                  - "@odata.type": "#Microsoft.Skills.Text.SplitSkill"
                    context: null
                    defaultLanguageCode: null
                    description: null
                    inputs:
                      - name: text
                        source: /document/content
                      - name: languageCode
                        source: /document/languageCode
                    maximumPageLength: 4000
                    name: "#3"
                    outputs:
                      - name: textItems
                        targetName: pages
                    textSplitMode: pages
                  - "@odata.type": "#Microsoft.Skills.Text.KeyPhraseExtractionSkill"
                    context: /document/pages/*
                    defaultLanguageCode: null
                    description: null
                    inputs:
                      - name: text
                        source: /document/pages/*
                      - name: languageCode
                        source: /document/languageCode
                    maxKeyPhraseCount: null
                    name: "#4"
                    outputs:
                      - name: keyPhrases
                        targetName: keyPhrases
                  - "@odata.type": "#Microsoft.Skills.Custom.WebApiSkill"
                    batchSize: 1
                    context: /document
                    degreeOfParallelism: null
                    description: null
                    httpHeaders: {}
                    httpMethod: POST
                    inputs:
                      - name: text
                        source: /document/pages/*
                      - name: languageCode
                        source: /document/languageCode
                    name: MyCustomWebApiSkill
                    outputs:
                      - name: customresult
                        targetName: result
                    timeout: PT30S
                    uri: https://contoso.example.org
      x-ms-request-id: request-id
  /synonymmaps:
    get:
      description: Lists all synonym maps available for a search service.
      externalDocs:
        url: https://docs.microsoft.com/rest/api/searchservice/List-Synonym-Maps
      operationId: SynonymMaps_List
      parameters:
        - $ref: "#/parameters/ClientRequestIdParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: ""
          schema:
            $ref: "#/definitions/SynonymMapListResult"
      tags:
        - SynonymMaps
      x-ms-examples:
        SearchServiceListSynonymMaps:
          parameters:
            api-version: 2019-05-06
            searchDnsSuffix: search.windows.net
            searchServiceName: myservice
          responses:
            "200":
              body:
                value:
                  - format: solr
                    name: mysynonymmap
                    synonyms: |-
                      United States, United States of America, USA
                      Washington, Wash. => WA
                  - format: solr
                    name: myothersynonymmap
                    synonyms: |-
                      couch, sofa, chesterfield
                      pop, soda
                      toque, hat
      x-ms-request-id: request-id
    post:
      description: Creates a new synonym map.
      externalDocs:
        url: https://docs.microsoft.com/rest/api/searchservice/Create-Synonym-Map
      operationId: SynonymMaps_Create
      parameters:
        - description: The definition of the synonym map to create.
          in: body
          name: synonymMap
          required: true
          schema:
            $ref: "#/definitions/SynonymMap"
        - $ref: "#/parameters/ClientRequestIdParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "201":
          description: ""
          schema:
            $ref: "#/definitions/SynonymMap"
      tags:
        - SynonymMaps
      x-ms-examples:
        SearchServiceCreateSynonymMap:
          parameters:
            api-version: 2019-05-06
            searchDnsSuffix: search.windows.net
            searchServiceName: myservice
            synonymMap:
              format: solr
              name: mysynonymmap
              synonyms: |-
                United States, United States of America, USA
                Washington, Wash. => WA
          responses:
            "201":
              body:
                format: solr
                name: mysynonymmap
                synonyms: |-
                  United States, United States of America, USA
                  Washington, Wash. => WA
      x-ms-request-id: request-id
  "/synonymmaps('{synonymMapName}')":
    delete:
      description: Deletes a synonym map.
      externalDocs:
        url: https://docs.microsoft.com/rest/api/searchservice/Delete-Synonym-Map
      operationId: SynonymMaps_Delete
      parameters:
        - description: The name of the synonym map to delete.
          in: path
          name: synonymMapName
          required: true
          type: string
        - $ref: "#/parameters/ClientRequestIdParameter"
        - $ref: "#/parameters/IfMatchParameter"
        - $ref: "#/parameters/IfNoneMatchParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "204":
          description: ""
        "404":
          description: ""
      tags:
        - SynonymMaps
      x-ms-examples:
        SearchServiceDeleteSynonymMap:
          parameters:
            api-version: 2019-05-06
            searchDnsSuffix: search.windows.net
            searchServiceName: myservice
            synonymMapName: mysynonymmap
          responses:
            "204": {}
            "404": {}
      x-ms-request-id: request-id
    get:
      description: Retrieves a synonym map definition.
      externalDocs:
        url: https://docs.microsoft.com/rest/api/searchservice/Get-Synonym-Map
      operationId: SynonymMaps_Get
      parameters:
        - description: The name of the synonym map to retrieve.
          in: path
          name: synonymMapName
          required: true
          type: string
        - $ref: "#/parameters/ClientRequestIdParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: ""
          schema:
            $ref: "#/definitions/SynonymMap"
      tags:
        - SynonymMaps
      x-ms-examples:
        SearchServiceGetSynonymMap:
          parameters:
            api-version: 2019-05-06
            searchDnsSuffix: search.windows.net
            searchServiceName: myservice
            synonymMapName: mysynonymmap
          responses:
            "200":
              body:
                format: solr
                name: mysynonymmap
                synonyms: |-
                  United States, United States of America, USA
                  Washington, Wash. => WA
      x-ms-request-id: request-id
    put:
      description: Creates a new synonym map or updates a synonym map if it already exists.
      externalDocs:
        url: https://docs.microsoft.com/rest/api/searchservice/Update-Synonym-Map
      operationId: SynonymMaps_CreateOrUpdate
      parameters:
        - description: The name of the synonym map to create or update.
          in: path
          name: synonymMapName
          required: true
          type: string
        - description: The definition of the synonym map to create or update.
          in: body
          name: synonymMap
          required: true
          schema:
            $ref: "#/definitions/SynonymMap"
        - $ref: "#/parameters/ClientRequestIdParameter"
        - $ref: "#/parameters/IfMatchParameter"
        - $ref: "#/parameters/IfNoneMatchParameter"
        - $ref: "#/parameters/PreferHeaderParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: ""
          schema:
            $ref: "#/definitions/SynonymMap"
        "201":
          description: ""
          schema:
            $ref: "#/definitions/SynonymMap"
      tags:
        - SynonymMaps
      x-ms-examples:
        SearchServiceCreateOrUpdateSynonymMap:
          parameters:
            Prefer: return=representation
            api-version: 2019-05-06
            searchDnsSuffix: search.windows.net
            searchServiceName: myservice
            synonymMap:
              format: solr
              name: mysynonymmap
              synonyms: |-
                United States, United States of America, USA
                Washington, Wash. => WA
            synonymMapName: mysynonymmap
          responses:
            "200":
              body:
                format: solr
                name: mysynonymmap
                synonyms: |-
                  United States, United States of America, USA
                  Washington, Wash. => WA
            "201":
              body:
                format: solr
                name: mysynonymmap
                synonyms: |-
                  United States, United States of America, USA
                  Washington, Wash. => WA
      x-ms-request-id: request-id
definitions:
  AnalyzeRequest:
    description: Specifies some text and analysis components used to break that text into tokens.
    properties:
      analyzer:
        $ref: "#/definitions/AnalyzerName"
        description: The name of the analyzer to use to break the given text. If this parameter is not specified, you must specify a tokenizer instead. The tokenizer and analyzer parameters are mutually exclusive.
      charFilters:
        description: An optional list of character filters to use when breaking the given text. This parameter can only be set when using the tokenizer parameter.
        items:
          $ref: "#/definitions/CharFilterName"
          x-nullable: false
        type: array
      text:
        description: The text to break into tokens.
        type: string
      tokenFilters:
        description: An optional list of token filters to use when breaking the given text. This parameter can only be set when using the tokenizer parameter.
        items:
          $ref: "#/definitions/TokenFilterName"
          x-nullable: false
        type: array
      tokenizer:
        $ref: "#/definitions/TokenizerName"
        description: The name of the tokenizer to use to break the given text. If this parameter is not specified, you must specify an analyzer instead. The tokenizer and analyzer parameters are mutually exclusive.
    required:
      - text
  AnalyzeResult:
    description: The result of testing an analyzer on text.
    properties:
      tokens:
        description: The list of tokens returned by the analyzer specified in the request.
        items:
          $ref: "#/definitions/TokenInfo"
        type: array
  Analyzer:
    description: Abstract base class for analyzers.
    discriminator: "@odata.type"
    properties:
      "@odata.type":
        type: string
      name:
        description: The name of the analyzer. It must only contain letters, digits, spaces, dashes or underscores, can only start and end with alphanumeric characters, and is limited to 128 characters.
        externalDocs:
          url: https://docs.microsoft.com/rest/api/searchservice/custom-analyzers-in-azure-search#index-attribute-reference
        type: string
    required:
      - "@odata.type"
      - name
  AnalyzerName:
    description: Defines the names of all text analyzers supported by Azure Cognitive Search.
    enum:
      - ar.microsoft
      - ar.lucene
      - hy.lucene
      - bn.microsoft
      - eu.lucene
      - bg.microsoft
      - bg.lucene
      - ca.microsoft
      - ca.lucene
      - zh-Hans.microsoft
      - zh-Hans.lucene
      - zh-Hant.microsoft
      - zh-Hant.lucene
      - hr.microsoft
      - cs.microsoft
      - cs.lucene
      - da.microsoft
      - da.lucene
      - nl.microsoft
      - nl.lucene
      - en.microsoft
      - en.lucene
      - et.microsoft
      - fi.microsoft
      - fi.lucene
      - fr.microsoft
      - fr.lucene
      - gl.lucene
      - de.microsoft
      - de.lucene
      - el.microsoft
      - el.lucene
      - gu.microsoft
      - he.microsoft
      - hi.microsoft
      - hi.lucene
      - hu.microsoft
      - hu.lucene
      - is.microsoft
      - id.microsoft
      - id.lucene
      - ga.lucene
      - it.microsoft
      - it.lucene
      - ja.microsoft
      - ja.lucene
      - kn.microsoft
      - ko.microsoft
      - ko.lucene
      - lv.microsoft
      - lv.lucene
      - lt.microsoft
      - ml.microsoft
      - ms.microsoft
      - mr.microsoft
      - nb.microsoft
      - no.lucene
      - fa.lucene
      - pl.microsoft
      - pl.lucene
      - pt-BR.microsoft
      - pt-BR.lucene
      - pt-PT.microsoft
      - pt-PT.lucene
      - pa.microsoft
      - ro.microsoft
      - ro.lucene
      - ru.microsoft
      - ru.lucene
      - sr-cyrillic.microsoft
      - sr-latin.microsoft
      - sk.microsoft
      - sl.microsoft
      - es.microsoft
      - es.lucene
      - sv.microsoft
      - sv.lucene
      - ta.microsoft
      - te.microsoft
      - th.microsoft
      - th.lucene
      - tr.microsoft
      - tr.lucene
      - uk.microsoft
      - ur.microsoft
      - vi.microsoft
      - standard.lucene
      - standardasciifolding.lucene
      - keyword
      - pattern
      - simple
      - stop
      - whitespace
    externalDocs:
      url: https://docs.microsoft.com/rest/api/searchservice/Language-support
    type: string
    x-ms-enum:
      modelAsString: false
      name: AnalyzerName
  AsciiFoldingTokenFilter:
    allOf:
      - $ref: "#/definitions/TokenFilter"
    description: Converts alphabetic, numeric, and symbolic Unicode characters which are not in the first 127 ASCII characters (the "Basic Latin" Unicode block) into their ASCII equivalents, if such equivalents exist. This token filter is implemented using Apache Lucene.
    externalDocs:
      url: http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/ASCIIFoldingFilter.html
    properties:
      preserveOriginal:
        default: false
        description: A value indicating whether the original token will be kept. Default is false.
        type: boolean
    x-ms-discriminator-value: "#Microsoft.Azure.Search.AsciiFoldingTokenFilter"
  CharFilter:
    description: Abstract base class for character filters.
    discriminator: "@odata.type"
    externalDocs:
      url: https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search
    properties:
      "@odata.type":
        type: string
      name:
        description: The name of the char filter. It must only contain letters, digits, spaces, dashes or underscores, can only start and end with alphanumeric characters, and is limited to 128 characters.
        externalDocs:
          url: https://docs.microsoft.com/rest/api/searchservice/custom-analyzers-in-azure-search#index-attribute-reference
        type: string
    required:
      - "@odata.type"
      - name
  CharFilterName:
    description: Defines the names of all character filters supported by Azure Cognitive Search.
    enum:
      - html_strip
    externalDocs:
      url: https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search
    type: string
    x-ms-enum:
      modelAsString: false
      name: CharFilterName
  CjkBigramTokenFilter:
    allOf:
      - $ref: "#/definitions/TokenFilter"
    description: Forms bigrams of CJK terms that are generated from StandardTokenizer. This token filter is implemented using Apache Lucene.
    externalDocs:
      url: http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/cjk/CJKBigramFilter.html
    properties:
      ignoreScripts:
        description: The scripts to ignore.
        items:
          $ref: "#/definitions/CjkBigramTokenFilterScripts"
          x-nullable: false
        type: array
      outputUnigrams:
        default: false
        description: A value indicating whether to output both unigrams and bigrams (if true), or just bigrams (if false). Default is false.
        type: boolean
    x-ms-discriminator-value: "#Microsoft.Azure.Search.CjkBigramTokenFilter"
  CjkBigramTokenFilterScripts:
    description: Scripts that can be ignored by CjkBigramTokenFilter.
    enum:
      - han
      - hiragana
      - katakana
      - hangul
    type: string
    x-ms-enum:
      modelAsString: false
      name: CjkBigramTokenFilterScripts
  ClassicTokenizer:
    allOf:
      - $ref: "#/definitions/Tokenizer"
    description: Grammar-based tokenizer that is suitable for processing most European-language documents. This tokenizer is implemented using Apache Lucene.
    externalDocs:
      url: http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/standard/ClassicTokenizer.html
    properties:
      maxTokenLength:
        default: 255
        description: The maximum token length. Default is 255. Tokens longer than the maximum length are split. The maximum token length that can be used is 300 characters.
        format: int32
        maximum: 300
        type: integer
    x-ms-discriminator-value: "#Microsoft.Azure.Search.ClassicTokenizer"
  CognitiveServices:
    description: Abstract base class for describing any cognitive service resource attached to the skillset.
    discriminator: "@odata.type"
    properties:
      "@odata.type":
        type: string
      description:
        type: string
    required:
      - "@odata.type"
  CognitiveServicesByKey:
    allOf:
      - $ref: "#/definitions/CognitiveServices"
    description: A cognitive service resource provisioned with a key that is attached to a skillset.
    properties:
      key:
        type: string
    required:
      - key
    x-ms-discriminator-value: "#Microsoft.Azure.Search.CognitiveServicesByKey"
  CommonGramTokenFilter:
    allOf:
      - $ref: "#/definitions/TokenFilter"
    description: Construct bigrams for frequently occurring terms while indexing. Single terms are still indexed too, with bigrams overlaid. This token filter is implemented using Apache Lucene.
    externalDocs:
      url: http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/commongrams/CommonGramsFilter.html
    properties:
      commonWords:
        description: The set of common words.
        items:
          type: string
        type: array
      ignoreCase:
        default: false
        description: A value indicating whether common words matching will be case insensitive. Default is false.
        type: boolean
      queryMode:
        default: false
        description: A value that indicates whether the token filter is in query mode. When in query mode, the token filter generates bigrams and then removes common words and single terms followed by a common word. Default is false.
        type: boolean
        x-ms-client-name: UseQueryMode
    required:
      - commonWords
    x-ms-discriminator-value: "#Microsoft.Azure.Search.CommonGramTokenFilter"
  ConditionalSkill:
    allOf:
      - $ref: "#/definitions/Skill"
    description: A skill that enables scenarios that require a Boolean operation to determine the data to assign to an output.
    externalDocs:
      url: https://docs.microsoft.com/azure/search/cognitive-search-skill-conditional
    x-ms-discriminator-value: "#Microsoft.Skills.Util.ConditionalSkill"
  CorsOptions:
    description: Defines options to control Cross-Origin Resource Sharing (CORS) for an index.
    externalDocs:
      url: https://docs.microsoft.com/rest/api/searchservice/Create-Index
    properties:
      allowedOrigins:
        description: The list of origins from which JavaScript code will be granted access to your index. Can contain a list of hosts of the form {protocol}://{fully-qualified-domain-name}[:{port#}], or a single '*' to allow all origins (not recommended).
        items:
          type: string
        type: array
      maxAgeInSeconds:
        description: The duration for which browsers should cache CORS preflight responses. Defaults to 5 minutes.
        format: int64
        type: integer
    required:
      - allowedOrigins
  CustomAnalyzer:
    allOf:
      - $ref: "#/definitions/Analyzer"
    description: Allows you to take control over the process of converting text into indexable/searchable tokens. It's a user-defined configuration consisting of a single predefined tokenizer and one or more filters. The tokenizer is responsible for breaking text into tokens, and the filters for modifying tokens emitted by the tokenizer.
    properties:
      charFilters:
        description: A list of character filters used to prepare input text before it is processed by the tokenizer. For instance, they can replace certain characters or symbols. The filters are run in the order in which they are listed.
        items:
          $ref: "#/definitions/CharFilterName"
          x-nullable: false
        type: array
      tokenFilters:
        description: A list of token filters used to filter out or modify the tokens generated by a tokenizer. For example, you can specify a lowercase filter that converts all characters to lowercase. The filters are run in the order in which they are listed.
        items:
          $ref: "#/definitions/TokenFilterName"
          x-nullable: false
        type: array
      tokenizer:
        $ref: "#/definitions/TokenizerName"
        description: The name of the tokenizer to use to divide continuous text into a sequence of tokens, such as breaking a sentence into words.
    required:
      - tokenizer
    x-ms-discriminator-value: "#Microsoft.Azure.Search.CustomAnalyzer"
  DataChangeDetectionPolicy:
    description: Abstract base class for data change detection policies.
    discriminator: "@odata.type"
    properties:
      "@odata.type":
        type: string
    required:
      - "@odata.type"
  DataContainer:
    description: Represents information about the entity (such as Azure SQL table or DocumentDb collection) that will be indexed.
    properties:
      name:
        description: The name of the table or view (for Azure SQL data source) or collection (for DocumentDB data source) that will be indexed.
        type: string
      query:
        description: A query that is applied to this data container. The syntax and meaning of this parameter is datasource-specific. Not supported by Azure SQL datasources.
        type: string
    required:
      - name
  DataDeletionDetectionPolicy:
    description: Abstract base class for data deletion detection policies.
    discriminator: "@odata.type"
    properties:
      "@odata.type":
        type: string
    required:
      - "@odata.type"
  DataSource:
    description: Represents a datasource definition, which can be used to configure an indexer.
    properties:
      "@odata.etag":
        description: The ETag of the DataSource.
        type: string
        x-ms-client-name: ETag
      container:
        $ref: "#/definitions/DataContainer"
        description: The data container for the datasource.
      credentials:
        $ref: "#/definitions/DataSourceCredentials"
        description: Credentials for the datasource.
      dataChangeDetectionPolicy:
        $ref: "#/definitions/DataChangeDetectionPolicy"
        description: The data change detection policy for the datasource.
      dataDeletionDetectionPolicy:
        $ref: "#/definitions/DataDeletionDetectionPolicy"
        description: The data deletion detection policy for the datasource.
      description:
        description: The description of the datasource.
        type: string
      name:
        description: The name of the datasource.
        externalDocs:
          url: https://docs.microsoft.com/rest/api/searchservice/Naming-rules
        type: string
      type:
        $ref: "#/definitions/DataSourceType"
        description: The type of the datasource.
    required:
      - name
      - type
      - credentials
      - container
  DataSourceCredentials:
    description: Represents credentials that can be used to connect to a datasource.
    properties:
      connectionString:
        description: The connection string for the datasource.
        externalDocs:
          url: https://docs.microsoft.com/rest/api/searchservice/Create-Data-Source
        type: string
  DataSourceListResult:
    description: Response from a List Datasources request. If successful, it includes the full definitions of all datasources.
    properties:
      value:
        description: The datasources in the Search service.
        items:
          $ref: "#/definitions/DataSource"
        readOnly: true
        type: array
        x-ms-client-name: DataSources
  DataSourceType:
    description: Defines the type of a datasource.
    enum:
      - azuresql
      - cosmosdb
      - azureblob
      - azuretable
    type: string
    x-ms-enum:
      modelAsString: false
      name: DataSourceType
  DataType:
    description: Defines the data type of a field in a search index.
    enum:
      - Edm.String
      - Edm.Int32
      - Edm.Int64
      - Edm.Double
      - Edm.Boolean
      - Edm.DateTimeOffset
      - Edm.GeographyPoint
      - Edm.ComplexType
    type: string
    x-ms-enum:
      modelAsString: false
      name: DataType
  DefaultCognitiveServices:
    allOf:
      - $ref: "#/definitions/CognitiveServices"
    description: An empty object that represents the default cognitive service resource for a skillset.
    x-ms-discriminator-value: "#Microsoft.Azure.Search.DefaultCognitiveServices"
  DictionaryDecompounderTokenFilter:
    allOf:
      - $ref: "#/definitions/TokenFilter"
    description: Decomposes compound words found in many Germanic languages. This token filter is implemented using Apache Lucene.
    externalDocs:
      url: http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/compound/DictionaryCompoundWordTokenFilter.html
    properties:
      maxSubwordSize:
        default: 15
        description: The maximum subword size. Only subwords shorter than this are outputted. Default is 15. Maximum is 300.
        format: int32
        maximum: 300
        type: integer
      minSubwordSize:
        default: 2
        description: The minimum subword size. Only subwords longer than this are outputted. Default is 2. Maximum is 300.
        format: int32
        maximum: 300
        type: integer
      minWordSize:
        default: 5
        description: The minimum word size. Only words longer than this get processed. Default is 5. Maximum is 300.
        format: int32
        maximum: 300
        type: integer
      onlyLongestMatch:
        default: false
        description: A value indicating whether to add only the longest matching subword to the output. Default is false.
        type: boolean
      wordList:
        description: The list of words to match against.
        items:
          type: string
        type: array
    required:
      - wordList
    x-ms-discriminator-value: "#Microsoft.Azure.Search.DictionaryDecompounderTokenFilter"
  DistanceScoringFunction:
    allOf:
      - $ref: "#/definitions/ScoringFunction"
    description: Defines a function that boosts scores based on distance from a geographic location.
    externalDocs:
      url: https://docs.microsoft.com/rest/api/searchservice/Add-scoring-profiles-to-a-search-index
    properties:
      distance:
        $ref: "#/definitions/DistanceScoringParameters"
        description: Parameter values for the distance scoring function.
        x-ms-client-name: Parameters
    required:
      - distance
    x-ms-discriminator-value: distance
  DistanceScoringParameters:
    description: Provides parameter values to a distance scoring function.
    properties:
      boostingDistance:
        description: The distance in kilometers from the reference location where the boosting range ends.
        format: double
        type: number
      referencePointParameter:
        description: The name of the parameter passed in search queries to specify the reference location.
        type: string
    required:
      - referencePointParameter
      - boostingDistance
  EdgeNGramTokenFilter:
    allOf:
      - $ref: "#/definitions/TokenFilter"
    description: Generates n-grams of the given size(s) starting from the front or the back of an input token. This token filter is implemented using Apache Lucene.
    externalDocs:
      url: http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ngram/EdgeNGramTokenFilter.html
    properties:
      maxGram:
        default: 2
        description: The maximum n-gram length. Default is 2.
        format: int32
        type: integer
      minGram:
        default: 1
        description: The minimum n-gram length. Default is 1. Must be less than the value of maxGram.
        format: int32
        type: integer
      side:
        $ref: "#/definitions/EdgeNGramTokenFilterSide"
        default: front
        description: Specifies which side of the input the n-gram should be generated from. Default is "front".
    x-ms-discriminator-value: "#Microsoft.Azure.Search.EdgeNGramTokenFilter"
    x-ms-external: true
  EdgeNGramTokenFilterSide:
    description: Specifies which side of the input an n-gram should be generated from.
    enum:
      - front
      - back
    type: string
    x-ms-enum:
      modelAsString: false
      name: EdgeNGramTokenFilterSide
  EdgeNGramTokenFilterV2:
    allOf:
      - $ref: "#/definitions/TokenFilter"
    description: Generates n-grams of the given size(s) starting from the front or the back of an input token. This token filter is implemented using Apache Lucene.
    externalDocs:
      url: http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ngram/EdgeNGramTokenFilter.html
    properties:
      maxGram:
        default: 2
        description: The maximum n-gram length. Default is 2. Maximum is 300.
        format: int32
        maximum: 300
        type: integer
      minGram:
        default: 1
        description: The minimum n-gram length. Default is 1. Maximum is 300. Must be less than the value of maxGram.
        format: int32
        maximum: 300
        type: integer
      side:
        $ref: "#/definitions/EdgeNGramTokenFilterSide"
        default: front
        description: Specifies which side of the input the n-gram should be generated from. Default is "front".
    x-ms-discriminator-value: "#Microsoft.Azure.Search.EdgeNGramTokenFilterV2"
  EdgeNGramTokenizer:
    allOf:
      - $ref: "#/definitions/Tokenizer"
    description: Tokenizes the input from an edge into n-grams of the given size(s). This tokenizer is implemented using Apache Lucene.
    externalDocs:
      url: https://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ngram/EdgeNGramTokenizer.html
    properties:
      maxGram:
        default: 2
        description: The maximum n-gram length. Default is 2. Maximum is 300.
        format: int32
        maximum: 300
        type: integer
      minGram:
        default: 1
        description: The minimum n-gram length. Default is 1. Maximum is 300. Must be less than the value of maxGram.
        format: int32
        maximum: 300
        type: integer
      tokenChars:
        description: Character classes to keep in the tokens.
        items:
          $ref: "#/definitions/TokenCharacterKind"
          x-nullable: false
        type: array
    x-ms-discriminator-value: "#Microsoft.Azure.Search.EdgeNGramTokenizer"
  ElisionTokenFilter:
    allOf:
      - $ref: "#/definitions/TokenFilter"
    description: Removes elisions. For example, "l'avion" (the plane) will be converted to "avion" (plane). This token filter is implemented using Apache Lucene.
    externalDocs:
      url: http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/util/ElisionFilter.html
    properties:
      articles:
        description: The set of articles to remove.
        items:
          type: string
        type: array
    x-ms-discriminator-value: "#Microsoft.Azure.Search.ElisionTokenFilter"
  EntityCategory:
    description: A string indicating what entity categories to return.
    enum:
      - location
      - organization
      - person
      - quantity
      - datetime
      - url
      - email
    type: string
    x-ms-enum:
      modelAsString: false
      name: EntityCategory
  EntityRecognitionSkill:
    allOf:
      - $ref: "#/definitions/Skill"
    description: Text analytics entity recognition.
    externalDocs:
      url: https://docs.microsoft.com/azure/search/cognitive-search-skill-entity-recognition
    properties:
      categories:
        description: A list of entity categories that should be extracted.
        items:
          $ref: "#/definitions/EntityCategory"
          x-nullable: false
        type: array
      defaultLanguageCode:
        $ref: "#/definitions/EntityRecognitionSkillLanguage"
        description: A value indicating which language code to use. Default is en.
      includeTypelessEntities:
        description: Determines whether or not to include entities which are well known but don't conform to a pre-defined type. If this configuration is not set (default), set to null or set to false, entities which don't conform to one of the pre-defined types will not be surfaced.
        type: boolean
        x-nullable: true
      minimumPrecision:
        description: A value between 0 and 1 that be used to only include entities whose confidence score is greater than the value specified. If not set (default), or if explicitly set to null, all entities will be included.
        format: double
        type: number
        x-nullable: true
    x-ms-discriminator-value: "#Microsoft.Skills.Text.EntityRecognitionSkill"
  EntityRecognitionSkillLanguage:
    description: The language codes supported for input text by EntityRecognitionSkill.
    enum:
      - de
      - en
      - es
      - fr
      - it
    type: string
    x-ms-enum:
      modelAsString: false
      name: EntityRecognitionSkillLanguage
  Field:
    description: Represents a field in an index definition, which describes the name, data type, and search behavior of a field.
    externalDocs:
      url: https://docs.microsoft.com/rest/api/searchservice/Create-Index
    properties:
      analyzer:
        $ref: "#/definitions/AnalyzerName"
        description: The name of the language analyzer to use for the field. This option can be used only with searchable fields and it can't be set together with either searchAnalyzer or indexAnalyzer. Once the analyzer is chosen, it cannot be changed for the field. Must be null for complex fields.
        externalDocs:
          url: https://docs.microsoft.com/rest/api/searchservice/Language-support
      facetable:
        description: A value indicating whether to enable the field to be referenced in facet queries. Typically used in a presentation of search results that includes hit count by category (for example, search for digital cameras and see hits by brand, by megapixels, by price, and so on). This property must be null for complex fields. Fields of type Edm.GeographyPoint or Collection(Edm.GeographyPoint) cannot be facetable. Default is true for all other simple fields.
        type: boolean
      fields:
        description: A list of sub-fields if this is a field of type Edm.ComplexType or Collection(Edm.ComplexType). Must be null or empty for simple fields.
        items:
          $ref: "#/definitions/Field"
        type: array
      filterable:
        description: A value indicating whether to enable the field to be referenced in $filter queries. filterable differs from searchable in how strings are handled. Fields of type Edm.String or Collection(Edm.String) that are filterable do not undergo word-breaking, so comparisons are for exact matches only. For example, if you set such a field f to "sunny day", $filter=f eq 'sunny' will find no matches, but $filter=f eq 'sunny day' will. This property must be null for complex fields. Default is true for simple fields and null for complex fields.
        type: boolean
      indexAnalyzer:
        $ref: "#/definitions/AnalyzerName"
        description: The name of the analyzer used at indexing time for the field. This option can be used only with searchable fields. It must be set together with searchAnalyzer and it cannot be set together with the analyzer option. Once the analyzer is chosen, it cannot be changed for the field. Must be null for complex fields.
        externalDocs:
          url: https://docs.microsoft.com/rest/api/searchservice/Language-support
      key:
        description: A value indicating whether the field uniquely identifies documents in the index. Exactly one top-level field in each index must be chosen as the key field and it must be of type Edm.String. Key fields can be used to look up documents directly and update or delete specific documents. Default is false for simple fields and null for complex fields.
        type: boolean
      name:
        description: The name of the field, which must be unique within the fields collection of the index or parent field.
        externalDocs:
          url: https://docs.microsoft.com/rest/api/searchservice/Naming-rules
        type: string
      retrievable:
        description: A value indicating whether the field can be returned in a search result. You can disable this option if you want to use a field (for example, margin) as a filter, sorting, or scoring mechanism but do not want the field to be visible to the end user. This property must be true for key fields, and it must be null for complex fields. This property can be changed on existing fields. Enabling this property does not cause any increase in index storage requirements. Default is true for simple fields and null for complex fields.
        type: boolean
      searchAnalyzer:
        $ref: "#/definitions/AnalyzerName"
        description: The name of the analyzer used at search time for the field. This option can be used only with searchable fields. It must be set together with indexAnalyzer and it cannot be set together with the analyzer option. This analyzer can be updated on an existing field. Must be null for complex fields.
        externalDocs:
          url: https://docs.microsoft.com/rest/api/searchservice/Language-support
      searchable:
        description: "A value indicating whether the field is full-text searchable. This means it will undergo analysis such as word-breaking during indexing. If you set a searchable field to a value like \"sunny day\", internally it will be split into the individual tokens \"sunny\" and \"day\". This enables full-text searches for these terms. Fields of type Edm.String or Collection(Edm.String) are searchable by default. This property must be false for simple fields of other non-string data types, and it must be null for complex fields. Note: searchable fields consume extra space in your index since Azure Cognitive Search will store an additional tokenized version of the field value for full-text searches. If you want to save space in your index and you don't need a field to be included in searches, set searchable to false."
        type: boolean
      sortable:
        description: A value indicating whether to enable the field to be referenced in $orderby expressions. By default Azure Cognitive Search sorts results by score, but in many experiences users will want to sort by fields in the documents. A simple field can be sortable only if it is single-valued (it has a single value in the scope of the parent document). Simple collection fields cannot be sortable, since they are multi-valued. Simple sub-fields of complex collections are also multi-valued, and therefore cannot be sortable. This is true whether it's an immediate parent field, or an ancestor field, that's the complex collection. Complex fields cannot be sortable and the sortable property must be null for such fields. The default for sortable is true for single-valued simple fields, false for multi-valued simple fields, and null for complex fields.
        type: boolean
      synonymMaps:
        description: A list of the names of synonym maps to associate with this field. This option can be used only with searchable fields. Currently only one synonym map per field is supported. Assigning a synonym map to a field ensures that query terms targeting that field are expanded at query-time using the rules in the synonym map. This attribute can be changed on existing fields. Must be null or an empty collection for complex fields.
        externalDocs:
          url: https://docs.microsoft.com/rest/api/searchservice/Synonym-Map-operations
        items:
          type: string
        type: array
      type:
        $ref: "#/definitions/DataType"
        description: The data type of the field.
        externalDocs:
          url: https://docs.microsoft.com/rest/api/searchservice/supported-data-types
    required:
      - name
      - type
  FieldMapping:
    description: Defines a mapping between a field in a data source and a target field in an index.
    externalDocs:
      url: https://docs.microsoft.com/azure/search/search-indexer-field-mappings
    properties:
      mappingFunction:
        $ref: "#/definitions/FieldMappingFunction"
        description: A function to apply to each source field value before indexing.
      sourceFieldName:
        description: The name of the field in the data source.
        type: string
      targetFieldName:
        description: The name of the target field in the index. Same as the source field name by default.
        type: string
    required:
      - sourceFieldName
  FieldMappingFunction:
    description: Represents a function that transforms a value from a data source before indexing.
    externalDocs:
      url: https://docs.microsoft.com/azure/search/search-indexer-field-mappings
    properties:
      name:
        description: The name of the field mapping function.
        type: string
      parameters:
        additionalProperties:
          type: object
        description: A dictionary of parameter name/value pairs to pass to the function. Each value must be of a primitive type.
        type: object
    required:
      - name
  FreshnessScoringFunction:
    allOf:
      - $ref: "#/definitions/ScoringFunction"
    description: Defines a function that boosts scores based on the value of a date-time field.
    externalDocs:
      url: https://docs.microsoft.com/rest/api/searchservice/Add-scoring-profiles-to-a-search-index
    properties:
      freshness:
        $ref: "#/definitions/FreshnessScoringParameters"
        description: Parameter values for the freshness scoring function.
        x-ms-client-name: Parameters
    required:
      - freshness
    x-ms-discriminator-value: freshness
  FreshnessScoringParameters:
    description: Provides parameter values to a freshness scoring function.
    properties:
      boostingDuration:
        description: The expiration period after which boosting will stop for a particular document.
        format: duration
        type: string
    required:
      - boostingDuration
  HighWaterMarkChangeDetectionPolicy:
    allOf:
      - $ref: "#/definitions/DataChangeDetectionPolicy"
    description: Defines a data change detection policy that captures changes based on the value of a high water mark column.
    properties:
      highWaterMarkColumnName:
        description: The name of the high water mark column.
        type: string
    required:
      - highWaterMarkColumnName
    x-ms-discriminator-value: "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy"
  ImageAnalysisSkill:
    allOf:
      - $ref: "#/definitions/Skill"
    description: A skill that analyzes image files. It extracts a rich set of visual features based on the image content.
    externalDocs:
      url: https://docs.microsoft.com/azure/search/cognitive-search-skill-image-analysis
    properties:
      defaultLanguageCode:
        $ref: "#/definitions/ImageAnalysisSkillLanguage"
        description: A value indicating which language code to use. Default is en.
      details:
        description: A string indicating which domain-specific details to return.
        items:
          $ref: "#/definitions/ImageDetail"
          x-nullable: false
        type: array
      visualFeatures:
        description: A list of visual features.
        items:
          $ref: "#/definitions/VisualFeature"
          x-nullable: false
        type: array
    x-ms-discriminator-value: "#Microsoft.Skills.Vision.ImageAnalysisSkill"
  ImageAnalysisSkillLanguage:
    description: The language codes supported for input by ImageAnalysisSkill.
    enum:
      - en
      - zh
    type: string
    x-ms-enum:
      modelAsString: false
      name: ImageAnalysisSkillLanguage
  ImageDetail:
    description: A string indicating which domain-specific details to return.
    enum:
      - celebrities
      - landmarks
    type: string
    x-ms-enum:
      modelAsString: false
      name: ImageDetail
  Index:
    description: Represents a search index definition, which describes the fields and search behavior of an index.
    properties:
      "@odata.etag":
        description: The ETag of the index.
        type: string
        x-ms-client-name: ETag
      analyzers:
        description: The analyzers for the index.
        externalDocs:
          url: https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search
        items:
          $ref: "#/definitions/Analyzer"
        type: array
      charFilters:
        description: The character filters for the index.
        externalDocs:
          url: https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search
        items:
          $ref: "#/definitions/CharFilter"
        type: array
      corsOptions:
        $ref: "#/definitions/CorsOptions"
        description: Options to control Cross-Origin Resource Sharing (CORS) for the index.
      defaultScoringProfile:
        description: The name of the scoring profile to use if none is specified in the query. If this property is not set and no scoring profile is specified in the query, then default scoring (tf-idf) will be used.
        type: string
      fields:
        description: The fields of the index.
        items:
          $ref: "#/definitions/Field"
        type: array
      name:
        description: The name of the index.
        externalDocs:
          url: https://docs.microsoft.com/rest/api/searchservice/Naming-rules
        type: string
      scoringProfiles:
        description: The scoring profiles for the index.
        items:
          $ref: "#/definitions/ScoringProfile"
        type: array
      suggesters:
        description: The suggesters for the index.
        items:
          $ref: "#/definitions/Suggester"
        type: array
      tokenFilters:
        description: The token filters for the index.
        externalDocs:
          url: https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search
        items:
          $ref: "#/definitions/TokenFilter"
        type: array
      tokenizers:
        description: The tokenizers for the index.
        externalDocs:
          url: https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search
        items:
          $ref: "#/definitions/Tokenizer"
        type: array
    required:
      - name
      - fields
  IndexGetStatisticsResult:
    description: Statistics for a given index. Statistics are collected periodically and are not guaranteed to always be up-to-date.
    properties:
      documentCount:
        description: The number of documents in the index.
        format: int64
        readOnly: true
        type: integer
        x-nullable: false
      storageSize:
        description: The amount of storage in bytes consumed by the index.
        format: int64
        readOnly: true
        type: integer
        x-nullable: false
  IndexListResult:
    description: Response from a List Indexes request. If successful, it includes the full definitions of all indexes.
    properties:
      value:
        description: The indexes in the Search service.
        items:
          $ref: "#/definitions/Index"
        readOnly: true
        type: array
        x-ms-client-name: Indexes
  Indexer:
    description: Represents an indexer.
    externalDocs:
      url: https://docs.microsoft.com/rest/api/searchservice/Indexer-operations
    properties:
      "@odata.etag":
        description: The ETag of the Indexer.
        type: string
        x-ms-client-name: ETag
      dataSourceName:
        description: The name of the datasource from which this indexer reads data.
        type: string
      description:
        description: The description of the indexer.
        type: string
      disabled:
        default: false
        description: A value indicating whether the indexer is disabled. Default is false.
        type: boolean
        x-ms-client-name: IsDisabled
      fieldMappings:
        description: Defines mappings between fields in the data source and corresponding target fields in the index.
        externalDocs:
          url: https://docs.microsoft.com/azure/search/search-indexer-field-mappings
        items:
          $ref: "#/definitions/FieldMapping"
        type: array
      name:
        description: The name of the indexer.
        externalDocs:
          url: https://docs.microsoft.com/rest/api/searchservice/Naming-rules
        type: string
      outputFieldMappings:
        description: Output field mappings are applied after enrichment and immediately before indexing.
        externalDocs:
          url: https://docs.microsoft.com/azure/search/search-indexer-field-mappings
        items:
          $ref: "#/definitions/FieldMapping"
        type: array
      parameters:
        $ref: "#/definitions/IndexingParameters"
        description: Parameters for indexer execution.
      schedule:
        $ref: "#/definitions/IndexingSchedule"
        description: The schedule for this indexer.
      skillsetName:
        description: The name of the skillset executing with this indexer.
        type: string
      targetIndexName:
        description: The name of the index to which this indexer writes data.
        type: string
    required:
      - name
      - dataSourceName
      - targetIndexName
  IndexerExecutionInfo:
    description: Represents the current status and execution history of an indexer.
    properties:
      executionHistory:
        description: History of the recent indexer executions, sorted in reverse chronological order.
        items:
          $ref: "#/definitions/IndexerExecutionResult"
        readOnly: true
        type: array
      lastResult:
        $ref: "#/definitions/IndexerExecutionResult"
        description: The result of the most recent or an in-progress indexer execution.
        readOnly: true
      limits:
        $ref: "#/definitions/IndexerLimits"
        description: The execution limits for the indexer.
        readOnly: true
      status:
        $ref: "#/definitions/IndexerStatus"
        description: Overall indexer status.
        readOnly: true
  IndexerExecutionResult:
    description: Represents the result of an individual indexer execution.
    properties:
      endTime:
        description: The end time of this indexer execution, if the execution has already completed.
        format: date-time
        readOnly: true
        type: string
      errorMessage:
        description: The error message indicating the top-level error, if any.
        readOnly: true
        type: string
      errors:
        description: The item-level indexing errors.
        items:
          $ref: "#/definitions/ItemError"
        readOnly: true
        type: array
      finalTrackingState:
        description: Change tracking state with which an indexer execution finished.
        readOnly: true
        type: string
      initialTrackingState:
        description: Change tracking state with which an indexer execution started.
        readOnly: true
        type: string
      itemsFailed:
        description: The number of items that failed to be indexed during this indexer execution.
        format: int32
        readOnly: true
        type: integer
        x-ms-client-name: FailedItemCount
        x-nullable: false
      itemsProcessed:
        description: The number of items that were processed during this indexer execution. This includes both successfully processed items and items where indexing was attempted but failed.
        format: int32
        readOnly: true
        type: integer
        x-ms-client-name: ItemCount
        x-nullable: false
      startTime:
        description: The start time of this indexer execution.
        format: date-time
        readOnly: true
        type: string
      status:
        $ref: "#/definitions/IndexerExecutionStatus"
        description: The outcome of this indexer execution.
        readOnly: true
      warnings:
        description: The item-level indexing warnings.
        items:
          $ref: "#/definitions/ItemWarning"
        readOnly: true
        type: array
  IndexerExecutionStatus:
    description: Represents the status of an individual indexer execution.
    enum:
      - transientFailure
      - success
      - inProgress
      - reset
    type: string
    x-ms-enum:
      name: IndexerExecutionStatus
    x-nullable: false
  IndexerLimits:
    properties:
      maxDocumentContentCharactersToExtract:
        description: The maximum number of characters that will be extracted from a document picked up for indexing.
        format: int64
        readOnly: true
        type: number
      maxDocumentExtractionSize:
        description: The maximum size of a document, in bytes, which will be considered valid for indexing.
        format: int64
        readOnly: true
        type: number
      maxRunTime:
        description: The maximum duration that the indexer is permitted to run for one execution.
        format: duration
        readOnly: true
        type: string
  IndexerListResult:
    description: Response from a List Indexers request. If successful, it includes the full definitions of all indexers.
    properties:
      value:
        description: The indexers in the Search service.
        items:
          $ref: "#/definitions/Indexer"
        readOnly: true
        type: array
        x-ms-client-name: Indexers
  IndexerStatus:
    description: Represents the overall indexer status.
    enum:
      - unknown
      - error
      - running
    type: string
    x-ms-enum:
      name: IndexerStatus
    x-nullable: false
  IndexingParameters:
    description: Represents parameters for indexer execution.
    properties:
      base64EncodeKeys:
        default: false
        description: Whether indexer will base64-encode all values that are inserted into key field of the target index. This is needed if keys can contain characters that are invalid in keys (such as dot '.'). Default is false.
        type: boolean
      batchSize:
        description: The number of items that are read from the data source and indexed as a single batch in order to improve performance. The default depends on the data source type.
        format: int32
        type: integer
      configuration:
        additionalProperties:
          type: object
        description: A dictionary of indexer-specific configuration properties. Each name is the name of a specific property. Each value must be of a primitive type.
        type: object
      maxFailedItems:
        default: 0
        description: The maximum number of items that can fail indexing for indexer execution to still be considered successful. -1 means no limit. Default is 0.
        format: int32
        type: integer
      maxFailedItemsPerBatch:
        default: 0
        description: The maximum number of items in a single batch that can fail indexing for the batch to still be considered successful. -1 means no limit. Default is 0.
        format: int32
        type: integer
    x-ms-external: true
  IndexingSchedule:
    description: Represents a schedule for indexer execution.
    properties:
      interval:
        description: The interval of time between indexer executions.
        format: duration
        type: string
      startTime:
        description: The time when an indexer should start running.
        format: date-time
        type: string
    required:
      - interval
  InputFieldMappingEntry:
    description: Input field mapping for a skill.
    properties:
      inputs:
        description: The recursive inputs used when creating a complex type.
        items:
          $ref: "#/definitions/InputFieldMappingEntry"
        type: array
      name:
        description: The name of the input.
        type: string
      source:
        description: The source of the input.
        type: string
      sourceContext:
        description: The source context used for selecting recursive inputs.
        type: string
    required:
      - name
  ItemError:
    description: Represents an item- or document-level indexing error.
    properties:
      details:
        description: Additional, verbose details about the error to assist in debugging the indexer. This may not be always available.
        readOnly: true
        type: string
      documentationLink:
        description: A link to a troubleshooting guide for these classes of errors. This may not be always available.
        readOnly: true
        type: string
      errorMessage:
        description: The message describing the error that occurred while processing the item.
        readOnly: true
        type: string
      key:
        description: The key of the item for which indexing failed.
        readOnly: true
        type: string
      name:
        description: The name of the source at which the error originated. For example, this could refer to a particular skill in the attached skillset. This may not be always available.
        readOnly: true
        type: string
      statusCode:
        description: "The status code indicating why the indexing operation failed. Possible values include: 400 for a malformed input document, 404 for document not found, 409 for a version conflict, 422 when the index is temporarily unavailable, or 503 for when the service is too busy."
        format: int32
        readOnly: true
        type: integer
        x-nullable: false
  ItemWarning:
    description: Represents an item-level warning.
    properties:
      details:
        description: Additional, verbose details about the warning to assist in debugging the indexer. This may not be always available.
        readOnly: true
        type: string
      documentationLink:
        description: A link to a troubleshooting guide for these classes of warnings. This may not be always available.
        readOnly: true
        type: string
      key:
        description: The key of the item which generated a warning.
        readOnly: true
        type: string
      message:
        description: The message describing the warning that occurred while processing the item.
        readOnly: true
        type: string
      name:
        description: The name of the source at which the warning originated. For example, this could refer to a particular skill in the attached skillset. This may not be always available.
        readOnly: true
        type: string
  KeepTokenFilter:
    allOf:
      - $ref: "#/definitions/TokenFilter"
    description: A token filter that only keeps tokens with text contained in a specified list of words. This token filter is implemented using Apache Lucene.
    externalDocs:
      url: http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/KeepWordFilter.html
    properties:
      keepWords:
        description: The list of words to keep.
        items:
          type: string
        type: array
      keepWordsCase:
        default: false
        description: A value indicating whether to lower case all words first. Default is false.
        type: boolean
        x-ms-client-name: LowerCaseKeepWords
    required:
      - keepWords
    x-ms-discriminator-value: "#Microsoft.Azure.Search.KeepTokenFilter"
  KeyPhraseExtractionSkill:
    allOf:
      - $ref: "#/definitions/Skill"
    description: A skill that uses text analytics for key phrase extraction.
    externalDocs:
      url: https://docs.microsoft.com/azure/search/cognitive-search-skill-keyphrases
    properties:
      defaultLanguageCode:
        $ref: "#/definitions/KeyPhraseExtractionSkillLanguage"
        description: A value indicating which language code to use. Default is en.
      maxKeyPhraseCount:
        description: A number indicating how many key phrases to return. If absent, all identified key phrases will be returned.
        format: int32
        type: integer
        x-nullable: true
    x-ms-discriminator-value: "#Microsoft.Skills.Text.KeyPhraseExtractionSkill"
  KeyPhraseExtractionSkillLanguage:
    description: The language codes supported for input text by KeyPhraseExtractionSkill.
    enum:
      - da
      - nl
      - en
      - fi
      - fr
      - de
      - it
      - ja
      - ko
      - no
      - pl
      - pt-PT
      - pt-BR
      - ru
      - es
      - sv
    type: string
    x-ms-enum:
      modelAsString: false
      name: KeyPhraseExtractionSkillLanguage
  KeywordMarkerTokenFilter:
    allOf:
      - $ref: "#/definitions/TokenFilter"
    description: Marks terms as keywords. This token filter is implemented using Apache Lucene.
    externalDocs:
      url: http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/KeywordMarkerFilter.html
    properties:
      ignoreCase:
        default: false
        description: A value indicating whether to ignore case. If true, all words are converted to lower case first. Default is false.
        type: boolean
      keywords:
        description: A list of words to mark as keywords.
        items:
          type: string
        type: array
    required:
      - keywords
    x-ms-discriminator-value: "#Microsoft.Azure.Search.KeywordMarkerTokenFilter"
  KeywordTokenizer:
    allOf:
      - $ref: "#/definitions/Tokenizer"
    description: Emits the entire input as a single token. This tokenizer is implemented using Apache Lucene.
    externalDocs:
      url: http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/KeywordTokenizer.html
    properties:
      bufferSize:
        default: 256
        description: The read buffer size in bytes. Default is 256.
        format: int32
        type: integer
    x-ms-discriminator-value: "#Microsoft.Azure.Search.KeywordTokenizer"
    x-ms-external: true
  KeywordTokenizerV2:
    allOf:
      - $ref: "#/definitions/Tokenizer"
    description: Emits the entire input as a single token. This tokenizer is implemented using Apache Lucene.
    externalDocs:
      url: http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/KeywordTokenizer.html
    properties:
      maxTokenLength:
        default: 256
        description: The maximum token length. Default is 256. Tokens longer than the maximum length are split. The maximum token length that can be used is 300 characters.
        format: int32
        maximum: 300
        type: integer
    x-ms-discriminator-value: "#Microsoft.Azure.Search.KeywordTokenizerV2"
  LanguageDetectionSkill:
    allOf:
      - $ref: "#/definitions/Skill"
    description: A skill that detects the language of input text and reports a single language code for every document submitted on the request. The language code is paired with a score indicating the confidence of the analysis.
    externalDocs:
      url: https://docs.microsoft.com/azure/search/cognitive-search-skill-language-detection
    x-ms-discriminator-value: "#Microsoft.Skills.Text.LanguageDetectionSkill"
  LengthTokenFilter:
    allOf:
      - $ref: "#/definitions/TokenFilter"
    description: Removes words that are too long or too short. This token filter is implemented using Apache Lucene.
    externalDocs:
      url: http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/LengthFilter.html
    properties:
      max:
        default: 300
        description: The maximum length in characters. Default and maximum is 300.
        format: int32
        maximum: 300
        type: integer
      min:
        default: 0
        description: The minimum length in characters. Default is 0. Maximum is 300. Must be less than the value of max.
        format: int32
        maximum: 300
        type: integer
    x-ms-discriminator-value: "#Microsoft.Azure.Search.LengthTokenFilter"
  LimitTokenFilter:
    allOf:
      - $ref: "#/definitions/TokenFilter"
    description: Limits the number of tokens while indexing. This token filter is implemented using Apache Lucene.
    externalDocs:
      url: http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/LimitTokenCountFilter.html
    properties:
      consumeAllTokens:
        default: false
        description: A value indicating whether all tokens from the input must be consumed even if maxTokenCount is reached. Default is false.
        type: boolean
      maxTokenCount:
        default: 1
        description: The maximum number of tokens to produce. Default is 1.
        format: int32
        type: integer
    x-ms-discriminator-value: "#Microsoft.Azure.Search.LimitTokenFilter"
  MagnitudeScoringFunction:
    allOf:
      - $ref: "#/definitions/ScoringFunction"
    description: Defines a function that boosts scores based on the magnitude of a numeric field.
    externalDocs:
      url: https://docs.microsoft.com/rest/api/searchservice/Add-scoring-profiles-to-a-search-index
    properties:
      magnitude:
        $ref: "#/definitions/MagnitudeScoringParameters"
        description: Parameter values for the magnitude scoring function.
        x-ms-client-name: Parameters
    required:
      - magnitude
    x-ms-discriminator-value: magnitude
  MagnitudeScoringParameters:
    description: Provides parameter values to a magnitude scoring function.
    properties:
      boostingRangeEnd:
        description: The field value at which boosting ends.
        format: double
        type: number
      boostingRangeStart:
        description: The field value at which boosting starts.
        format: double
        type: number
      constantBoostBeyondRange:
        description: A value indicating whether to apply a constant boost for field values beyond the range end value; default is false.
        type: boolean
        x-ms-client-name: ShouldBoostBeyondRangeByConstant
    required:
      - boostingRangeStart
      - boostingRangeEnd
  MappingCharFilter:
    allOf:
      - $ref: "#/definitions/CharFilter"
    description: A character filter that applies mappings defined with the mappings option. Matching is greedy (longest pattern matching at a given point wins). Replacement is allowed to be the empty string. This character filter is implemented using Apache Lucene.
    externalDocs:
      url: https://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/charfilter/MappingCharFilter.html
    properties:
      mappings:
        description: 'A list of mappings of the following format: "a=>b" (all occurrences of the character "a" will be replaced with character "b").'
        items:
          type: string
        type: array
    required:
      - mappings
    x-ms-discriminator-value: "#Microsoft.Azure.Search.MappingCharFilter"
  MergeSkill:
    allOf:
      - $ref: "#/definitions/Skill"
    description: A skill for merging two or more strings into a single unified string, with an optional user-defined delimiter separating each component part.
    externalDocs:
      url: https://docs.microsoft.com/azure/search/cognitive-search-skill-textmerger
    properties:
      insertPostTag:
        default: " "
        description: The tag indicates the end of the merged text. By default, the tag is an empty space.
        type: string
      insertPreTag:
        default: " "
        description: The tag indicates the start of the merged text. By default, the tag is an empty space.
        type: string
    x-ms-discriminator-value: "#Microsoft.Skills.Text.MergeSkill"
  MicrosoftLanguageStemmingTokenizer:
    allOf:
      - $ref: "#/definitions/Tokenizer"
    description: Divides text using language-specific rules and reduces words to their base forms.
    properties:
      isSearchTokenizer:
        default: false
        description: A value indicating how the tokenizer is used. Set to true if used as the search tokenizer, set to false if used as the indexing tokenizer. Default is false.
        type: boolean
      language:
        $ref: "#/definitions/MicrosoftStemmingTokenizerLanguage"
        description: The language to use. The default is English.
      maxTokenLength:
        default: 255
        description: The maximum token length. Tokens longer than the maximum length are split. Maximum token length that can be used is 300 characters. Tokens longer than 300 characters are first split into tokens of length 300 and then each of those tokens is split based on the max token length set. Default is 255.
        format: int32
        maximum: 300
        type: integer
    x-ms-discriminator-value: "#Microsoft.Azure.Search.MicrosoftLanguageStemmingTokenizer"
  MicrosoftLanguageTokenizer:
    allOf:
      - $ref: "#/definitions/Tokenizer"
    description: Divides text using language-specific rules.
    properties:
      isSearchTokenizer:
        default: false
        description: A value indicating how the tokenizer is used. Set to true if used as the search tokenizer, set to false if used as the indexing tokenizer. Default is false.
        type: boolean
      language:
        $ref: "#/definitions/MicrosoftTokenizerLanguage"
        description: The language to use. The default is English.
      maxTokenLength:
        default: 255
        description: The maximum token length. Tokens longer than the maximum length are split. Maximum token length that can be used is 300 characters. Tokens longer than 300 characters are first split into tokens of length 300 and then each of those tokens is split based on the max token length set. Default is 255.
        format: int32
        maximum: 300
        type: integer
    x-ms-discriminator-value: "#Microsoft.Azure.Search.MicrosoftLanguageTokenizer"
  MicrosoftStemmingTokenizerLanguage:
    description: Lists the languages supported by the Microsoft language stemming tokenizer.
    enum:
      - arabic
      - bangla
      - bulgarian
      - catalan
      - croatian
      - czech
      - danish
      - dutch
      - english
      - estonian
      - finnish
      - french
      - german
      - greek
      - gujarati
      - hebrew
      - hindi
      - hungarian
      - icelandic
      - indonesian
      - italian
      - kannada
      - latvian
      - lithuanian
      - malay
      - malayalam
      - marathi
      - norwegianBokmaal
      - polish
      - portuguese
      - portugueseBrazilian
      - punjabi
      - romanian
      - russian
      - serbianCyrillic
      - serbianLatin
      - slovak
      - slovenian
      - spanish
      - swedish
      - tamil
      - telugu
      - turkish
      - ukrainian
      - urdu
    type: string
    x-ms-enum:
      modelAsString: false
      name: MicrosoftStemmingTokenizerLanguage
  MicrosoftTokenizerLanguage:
    description: Lists the languages supported by the Microsoft language tokenizer.
    enum:
      - bangla
      - bulgarian
      - catalan
      - chineseSimplified
      - chineseTraditional
      - croatian
      - czech
      - danish
      - dutch
      - english
      - french
      - german
      - greek
      - gujarati
      - hindi
      - icelandic
      - indonesian
      - italian
      - japanese
      - kannada
      - korean
      - malay
      - malayalam
      - marathi
      - norwegianBokmaal
      - polish
      - portuguese
      - portugueseBrazilian
      - punjabi
      - romanian
      - russian
      - serbianCyrillic
      - serbianLatin
      - slovenian
      - spanish
      - swedish
      - tamil
      - telugu
      - thai
      - ukrainian
      - urdu
      - vietnamese
    type: string
    x-ms-enum:
      modelAsString: false
      name: MicrosoftTokenizerLanguage
  NGramTokenFilter:
    allOf:
      - $ref: "#/definitions/TokenFilter"
    description: Generates n-grams of the given size(s). This token filter is implemented using Apache Lucene.
    externalDocs:
      url: http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ngram/NGramTokenFilter.html
    properties:
      maxGram:
        default: 2
        description: The maximum n-gram length. Default is 2.
        format: int32
        type: integer
      minGram:
        default: 1
        description: The minimum n-gram length. Default is 1. Must be less than the value of maxGram.
        format: int32
        type: integer
    x-ms-discriminator-value: "#Microsoft.Azure.Search.NGramTokenFilter"
    x-ms-external: true
  NGramTokenFilterV2:
    allOf:
      - $ref: "#/definitions/TokenFilter"
    description: Generates n-grams of the given size(s). This token filter is implemented using Apache Lucene.
    externalDocs:
      url: http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ngram/NGramTokenFilter.html
    properties:
      maxGram:
        default: 2
        description: The maximum n-gram length. Default is 2. Maximum is 300.
        format: int32
        maximum: 300
        type: integer
      minGram:
        default: 1
        description: The minimum n-gram length. Default is 1. Maximum is 300. Must be less than the value of maxGram.
        format: int32
        maximum: 300
        type: integer
    x-ms-discriminator-value: "#Microsoft.Azure.Search.NGramTokenFilterV2"
  NGramTokenizer:
    allOf:
      - $ref: "#/definitions/Tokenizer"
    description: Tokenizes the input into n-grams of the given size(s). This tokenizer is implemented using Apache Lucene.
    externalDocs:
      url: http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ngram/NGramTokenizer.html
    properties:
      maxGram:
        default: 2
        description: The maximum n-gram length. Default is 2. Maximum is 300.
        format: int32
        maximum: 300
        type: integer
      minGram:
        default: 1
        description: The minimum n-gram length. Default is 1. Maximum is 300. Must be less than the value of maxGram.
        format: int32
        maximum: 300
        type: integer
      tokenChars:
        description: Character classes to keep in the tokens.
        items:
          $ref: "#/definitions/TokenCharacterKind"
          x-nullable: false
        type: array
    x-ms-discriminator-value: "#Microsoft.Azure.Search.NGramTokenizer"
  NamedEntityCategory:
    description: A string indicating which named entity categories to return.
    enum:
      - location
      - organization
      - person
    type: string
    x-ms-external: true
  NamedEntityRecognitionSkill:
    allOf:
      - $ref: "#/definitions/Skill"
    description: Text analytics named entity recognition. This skill is deprecated in favor of EntityRecognitionSkill.
    externalDocs:
      url: https://docs.microsoft.com/azure/search/cognitive-search-skill-named-entity-recognition
    properties:
      categories:
        description: A list of named entity categories.
        items:
          $ref: "#/definitions/NamedEntityCategory"
          x-nullable: false
        type: array
      defaultLanguageCode:
        $ref: "#/definitions/NamedEntityRecognitionSkillLanguage"
        description: A value indicating which language code to use. Default is en.
      minimumPrecision:
        description: A value between 0 and 1 to indicate the confidence of the results.
        format: double
        type: number
        x-nullable: true
    x-ms-discriminator-value: "#Microsoft.Skills.Text.NamedEntityRecognitionSkill"
    x-ms-external: true
  NamedEntityRecognitionSkillLanguage:
    description: The language codes supported for input text by NamedEntityRecognitionSkill.
    enum:
      - ar
      - cs
      - da
      - de
      - en
      - es
      - fi
      - fr
      - he
      - hu
      - it
      - ko
      - pt-br
      - pt
    type: string
    x-ms-enum:
      modelAsString: false
      name: NamedEntityRecognitionSkillLanguage
  OcrSkill:
    allOf:
      - $ref: "#/definitions/Skill"
    description: A skill that extracts text from image files.
    externalDocs:
      url: https://docs.microsoft.com/azure/search/cognitive-search-skill-ocr
    properties:
      defaultLanguageCode:
        $ref: "#/definitions/OcrSkillLanguage"
        description: A value indicating which language code to use. Default is en.
      detectOrientation:
        default: false
        description: A value indicating to turn orientation detection on or not. Default is false.
        type: boolean
        x-ms-client-name: ShouldDetectOrientation
      textExtractionAlgorithm:
        $ref: "#/definitions/TextExtractionAlgorithm"
        description: A value indicating which algorithm to use for extracting text. Default is printed.
    x-ms-discriminator-value: "#Microsoft.Skills.Vision.OcrSkill"
  OcrSkillLanguage:
    description: The language codes supported for input by OcrSkill.
    enum:
      - zh-Hans
      - zh-Hant
      - cs
      - da
      - nl
      - en
      - fi
      - fr
      - de
      - el
      - hu
      - it
      - ja
      - ko
      - nb
      - pl
      - pt
      - ru
      - es
      - sv
      - tr
      - ar
      - ro
      - sr-Cyrl
      - sr-Latn
      - sk
    type: string
    x-ms-enum:
      modelAsString: false
      name: OcrSkillLanguage
  OutputFieldMappingEntry:
    description: Output field mapping for a skill.
    externalDocs:
      url: https://docs.microsoft.com/rest/api/searchservice/naming-rules
    properties:
      name:
        description: The name of the output defined by the skill.
        type: string
      targetName:
        description: The target name of the output. It is optional and default to name.
        type: string
    required:
      - name
  PathHierarchyTokenizer:
    allOf:
      - $ref: "#/definitions/Tokenizer"
    description: Tokenizer for path-like hierarchies. This tokenizer is implemented using Apache Lucene.
    externalDocs:
      url: http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/path/PathHierarchyTokenizer.html
    properties:
      bufferSize:
        default: 1024
        description: The buffer size. Default is 1024.
        format: int32
        type: integer
      delimiter:
        default: /
        description: The delimiter character to use. Default is "/".
        format: char
        type: string
      replacement:
        default: /
        description: A value that, if set, replaces the delimiter character. Default is "/".
        format: char
        type: string
      reverse:
        default: false
        description: A value indicating whether to generate tokens in reverse order. Default is false.
        type: boolean
        x-ms-client-name: ReverseTokenOrder
      skip:
        default: 0
        description: The number of initial tokens to skip. Default is 0.
        format: int32
        type: integer
        x-ms-client-name: NumberOfTokensToSkip
    x-ms-discriminator-value: "#Microsoft.Azure.Search.PathHierarchyTokenizer"
    x-ms-external: true
  PathHierarchyTokenizerV2:
    allOf:
      - $ref: "#/definitions/Tokenizer"
    description: Tokenizer for path-like hierarchies. This tokenizer is implemented using Apache Lucene.
    externalDocs:
      url: http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/path/PathHierarchyTokenizer.html
    properties:
      delimiter:
        default: /
        description: The delimiter character to use. Default is "/".
        format: char
        type: string
      maxTokenLength:
        default: 300
        description: The maximum token length. Default and maximum is 300.
        format: int32
        maximum: 300
        type: integer
      replacement:
        default: /
        description: A value that, if set, replaces the delimiter character. Default is "/".
        format: char
        type: string
      reverse:
        default: false
        description: A value indicating whether to generate tokens in reverse order. Default is false.
        type: boolean
        x-ms-client-name: ReverseTokenOrder
      skip:
        default: 0
        description: The number of initial tokens to skip. Default is 0.
        format: int32
        type: integer
        x-ms-client-name: NumberOfTokensToSkip
    x-ms-discriminator-value: "#Microsoft.Azure.Search.PathHierarchyTokenizerV2"
  PatternAnalyzer:
    allOf:
      - $ref: "#/definitions/Analyzer"
    description: Flexibly separates text into terms via a regular expression pattern. This analyzer is implemented using Apache Lucene.
    externalDocs:
      url: http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/PatternAnalyzer.html
    properties:
      flags:
        $ref: "#/definitions/RegexFlags"
        description: Regular expression flags.
      lowercase:
        default: true
        description: A value indicating whether terms should be lower-cased. Default is true.
        type: boolean
        x-ms-client-name: LowerCaseTerms
      pattern:
        default: \W+
        description: A regular expression pattern to match token separators. Default is an expression that matches one or more whitespace characters.
        type: string
      stopwords:
        description: A list of stopwords.
        items:
          type: string
        type: array
    x-ms-discriminator-value: "#Microsoft.Azure.Search.PatternAnalyzer"
  PatternCaptureTokenFilter:
    allOf:
      - $ref: "#/definitions/TokenFilter"
    description: Uses Java regexes to emit multiple tokens - one for each capture group in one or more patterns. This token filter is implemented using Apache Lucene.
    externalDocs:
      url: http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/pattern/PatternCaptureGroupTokenFilter.html
    properties:
      patterns:
        description: A list of patterns to match against each token.
        items:
          type: string
        type: array
      preserveOriginal:
        default: true
        description: A value indicating whether to return the original token even if one of the patterns matches. Default is true.
        type: boolean
    required:
      - patterns
    x-ms-discriminator-value: "#Microsoft.Azure.Search.PatternCaptureTokenFilter"
  PatternReplaceCharFilter:
    allOf:
      - $ref: "#/definitions/CharFilter"
    description: A character filter that replaces characters in the input string. It uses a regular expression to identify character sequences to preserve and a replacement pattern to identify characters to replace. For example, given the input text "aa bb aa bb", pattern "(aa)\s+(bb)", and replacement "$1#$2", the result would be "aa#bb aa#bb". This character filter is implemented using Apache Lucene.
    externalDocs:
      url: https://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/pattern/PatternReplaceCharFilter.html
    properties:
      pattern:
        description: A regular expression pattern.
        type: string
      replacement:
        description: The replacement text.
        type: string
    required:
      - pattern
      - replacement
    x-ms-discriminator-value: "#Microsoft.Azure.Search.PatternReplaceCharFilter"
  PatternReplaceTokenFilter:
    allOf:
      - $ref: "#/definitions/TokenFilter"
    description: A character filter that replaces characters in the input string. It uses a regular expression to identify character sequences to preserve and a replacement pattern to identify characters to replace. For example, given the input text "aa bb aa bb", pattern "(aa)\s+(bb)", and replacement "$1#$2", the result would be "aa#bb aa#bb". This token filter is implemented using Apache Lucene.
    externalDocs:
      url: http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/pattern/PatternReplaceFilter.html
    properties:
      pattern:
        description: A regular expression pattern.
        type: string
      replacement:
        description: The replacement text.
        type: string
    required:
      - pattern
      - replacement
    x-ms-discriminator-value: "#Microsoft.Azure.Search.PatternReplaceTokenFilter"
  PatternTokenizer:
    allOf:
      - $ref: "#/definitions/Tokenizer"
    description: Tokenizer that uses regex pattern matching to construct distinct tokens. This tokenizer is implemented using Apache Lucene.
    externalDocs:
      url: http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/pattern/PatternTokenizer.html
    properties:
      flags:
        $ref: "#/definitions/RegexFlags"
        description: Regular expression flags.
      group:
        default: -1
        description: The zero-based ordinal of the matching group in the regular expression pattern to extract into tokens. Use -1 if you want to use the entire pattern to split the input into tokens, irrespective of matching groups. Default is -1.
        format: int32
        type: integer
      pattern:
        default: \W+
        description: A regular expression pattern to match token separators. Default is an expression that matches one or more whitespace characters.
        type: string
    x-ms-discriminator-value: "#Microsoft.Azure.Search.PatternTokenizer"
  PhoneticEncoder:
    description: Identifies the type of phonetic encoder to use with a PhoneticTokenFilter.
    enum:
      - metaphone
      - doubleMetaphone
      - soundex
      - refinedSoundex
      - caverphone1
      - caverphone2
      - cologne
      - nysiis
      - koelnerPhonetik
      - haasePhonetik
      - beiderMorse
    type: string
    x-ms-enum:
      modelAsString: false
      name: PhoneticEncoder
  PhoneticTokenFilter:
    allOf:
      - $ref: "#/definitions/TokenFilter"
    description: Create tokens for phonetic matches. This token filter is implemented using Apache Lucene.
    externalDocs:
      url: https://lucene.apache.org/core/4_10_3/analyzers-phonetic/org/apache/lucene/analysis/phonetic/package-tree.html
    properties:
      encoder:
        $ref: "#/definitions/PhoneticEncoder"
        default: metaphone
        description: The phonetic encoder to use. Default is "metaphone".
      replace:
        default: true
        description: A value indicating whether encoded tokens should replace original tokens. If false, encoded tokens are added as synonyms. Default is true.
        type: boolean
        x-ms-client-name: ReplaceOriginalTokens
    x-ms-discriminator-value: "#Microsoft.Azure.Search.PhoneticTokenFilter"
  RegexFlags:
    description: Defines flags that can be combined to control how regular expressions are used in the pattern analyzer and pattern tokenizer.
    enum:
      - CANON_EQ
      - CASE_INSENSITIVE
      - COMMENTS
      - DOTALL
      - LITERAL
      - MULTILINE
      - UNICODE_CASE
      - UNIX_LINES
    externalDocs:
      url: http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html#field_summary
    type: string
    x-ms-enum:
      modelAsString: false
      name: RegexFlags
  ResourceCounter:
    description: Represents a resource's usage and quota.
    properties:
      quota:
        description: The resource amount quota.
        format: int64
        type: integer
        x-nullable: true
      usage:
        description: The resource usage amount.
        format: int64
        type: integer
        x-nullable: false
  ScoringFunction:
    description: Abstract base class for functions that can modify document scores during ranking.
    discriminator: type
    externalDocs:
      url: https://docs.microsoft.com/rest/api/searchservice/Add-scoring-profiles-to-a-search-index
    properties:
      boost:
        description: A multiplier for the raw score. Must be a positive number not equal to 1.0.
        format: double
        type: number
      fieldName:
        description: The name of the field used as input to the scoring function.
        type: string
      interpolation:
        $ref: "#/definitions/ScoringFunctionInterpolation"
        description: A value indicating how boosting will be interpolated across document scores; defaults to "Linear".
      type:
        type: string
    required:
      - type
      - fieldName
      - boost
  ScoringFunctionAggregation:
    description: Defines the aggregation function used to combine the results of all the scoring functions in a scoring profile.
    enum:
      - sum
      - average
      - minimum
      - maximum
      - firstMatching
    type: string
    x-ms-enum:
      name: ScoringFunctionAggregation
  ScoringFunctionInterpolation:
    description: Defines the function used to interpolate score boosting across a range of documents.
    enum:
      - linear
      - constant
      - quadratic
      - logarithmic
    type: string
    x-ms-enum:
      name: ScoringFunctionInterpolation
  ScoringProfile:
    description: Defines parameters for a search index that influence scoring in search queries.
    externalDocs:
      url: https://docs.microsoft.com/rest/api/searchservice/Add-scoring-profiles-to-a-search-index
    properties:
      functionAggregation:
        $ref: "#/definitions/ScoringFunctionAggregation"
        description: A value indicating how the results of individual scoring functions should be combined. Defaults to "Sum". Ignored if there are no scoring functions.
      functions:
        description: The collection of functions that influence the scoring of documents.
        items:
          $ref: "#/definitions/ScoringFunction"
        type: array
      name:
        description: The name of the scoring profile.
        externalDocs:
          url: https://docs.microsoft.com/rest/api/searchservice/Naming-rules
        type: string
      text:
        $ref: "#/definitions/TextWeights"
        description: Parameters that boost scoring based on text matches in certain index fields.
        x-ms-client-name: TextWeights
    required:
      - name
  SentimentSkill:
    allOf:
      - $ref: "#/definitions/Skill"
    description: Text analytics positive-negative sentiment analysis, scored as a floating point value in a range of zero to 1.
    externalDocs:
      url: https://docs.microsoft.com/azure/search/cognitive-search-skill-sentiment
    properties:
      defaultLanguageCode:
        $ref: "#/definitions/SentimentSkillLanguage"
        description: A value indicating which language code to use. Default is en.
    x-ms-discriminator-value: "#Microsoft.Skills.Text.SentimentSkill"
  SentimentSkillLanguage:
    description: The language codes supported for input text by SentimentSkill.
    enum:
      - da
      - nl
      - en
      - fi
      - fr
      - de
      - el
      - it
      - no
      - pl
      - pt-PT
      - ru
      - es
      - sv
      - tr
    type: string
    x-ms-enum:
      modelAsString: false
      name: SentimentSkillLanguage
  ServiceCounters:
    description: Represents service-level resource counters and quotas.
    properties:
      dataSourcesCount:
        $ref: "#/definitions/ResourceCounter"
        description: Total number of data sources.
        x-ms-client-name: dataSourceCounter
      documentCount:
        $ref: "#/definitions/ResourceCounter"
        description: Total number of documents across all indexes in the service.
        x-ms-client-name: documentCounter
      indexersCount:
        $ref: "#/definitions/ResourceCounter"
        description: Total number of indexers.
        x-ms-client-name: indexerCounter
      indexesCount:
        $ref: "#/definitions/ResourceCounter"
        description: Total number of indexes.
        x-ms-client-name: indexCounter
      storageSize:
        $ref: "#/definitions/ResourceCounter"
        description: Total size of used storage in bytes.
        x-ms-client-name: storageSizeCounter
      synonymMaps:
        $ref: "#/definitions/ResourceCounter"
        description: Total number of synonym maps.
        x-ms-client-name: synonymMapCounter
  ServiceLimits:
    description: Represents various service level limits.
    properties:
      maxComplexCollectionFieldsPerIndex:
        description: The maximum number of fields of type Collection(Edm.ComplexType) allowed in an index.
        format: int32
        type: integer
        x-nullable: true
      maxComplexObjectsInCollectionsPerDocument:
        description: The maximum number of objects in complex collections allowed per document.
        format: int32
        type: integer
        x-nullable: true
      maxFieldNestingDepthPerIndex:
        description: The maximum depth which you can nest sub-fields in an index, including the top-level complex field. For example, a/b/c has a nesting depth of 3.
        format: int32
        type: integer
        x-nullable: true
      maxFieldsPerIndex:
        description: The maximum allowed fields per index.
        format: int32
        type: integer
        x-nullable: true
  ServiceStatistics:
    description: Response from a get service statistics request. If successful, it includes service level counters and limits.
    properties:
      counters:
        $ref: "#/definitions/ServiceCounters"
        description: Service level resource counters.
      limits:
        $ref: "#/definitions/ServiceLimits"
        description: Service level general limits.
  ShaperSkill:
    allOf:
      - $ref: "#/definitions/Skill"
    description: A skill for reshaping the outputs. It creates a complex type to support composite fields (also known as multipart fields).
    externalDocs:
      url: https://docs.microsoft.com/azure/search/cognitive-search-skill-shaper
    x-ms-discriminator-value: "#Microsoft.Skills.Util.ShaperSkill"
  ShingleTokenFilter:
    allOf:
      - $ref: "#/definitions/TokenFilter"
    description: Creates combinations of tokens as a single token. This token filter is implemented using Apache Lucene.
    externalDocs:
      url: http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/shingle/ShingleFilter.html
    properties:
      filterToken:
        default: _
        description: The string to insert for each position at which there is no token. Default is an underscore ("_").
        type: string
      maxShingleSize:
        default: 2
        description: The maximum shingle size. Default and minimum value is 2.
        format: int32
        minimum: 2
        type: integer
      minShingleSize:
        default: 2
        description: The minimum shingle size. Default and minimum value is 2. Must be less than the value of maxShingleSize.
        format: int32
        minimum: 2
        type: integer
      outputUnigrams:
        default: true
        description: A value indicating whether the output stream will contain the input tokens (unigrams) as well as shingles. Default is true.
        type: boolean
      outputUnigramsIfNoShingles:
        default: false
        description: A value indicating whether to output unigrams for those times when no shingles are available. This property takes precedence when outputUnigrams is set to false. Default is false.
        type: boolean
      tokenSeparator:
        default: " "
        description: The string to use when joining adjacent tokens to form a shingle. Default is a single space (" ").
        type: string
    x-ms-discriminator-value: "#Microsoft.Azure.Search.ShingleTokenFilter"
  Skill:
    description: Abstract base class for skills.
    discriminator: "@odata.type"
    externalDocs:
      url: https://docs.microsoft.com/azure/search/cognitive-search-predefined-skills
    properties:
      "@odata.type":
        type: string
      context:
        description: Represents the level at which operations take place, such as the document root or document content (for example, /document or /document/content). The default is /document.
        type: string
      description:
        description: The description of the skill which describes the inputs, outputs, and usage of the skill.
        type: string
      inputs:
        description: Inputs of the skills could be a column in the source data set, or the output of an upstream skill.
        items:
          $ref: "#/definitions/InputFieldMappingEntry"
        type: array
      name:
        description: The name of the skill which uniquely identifies it within the skillset. A skill with no name defined will be given a default name of its 1-based index in the skills array, prefixed with the character '#'.
        type: string
      outputs:
        description: The output of a skill is either a field in a search index, or a value that can be consumed as an input by another skill.
        items:
          $ref: "#/definitions/OutputFieldMappingEntry"
        type: array
    required:
      - "@odata.type"
      - inputs
      - outputs
  Skillset:
    description: A list of skills.
    externalDocs:
      url: https://docs.microsoft.com/azure/search/cognitive-search-tutorial-blob
    properties:
      "@odata.etag":
        description: The ETag of the skillset.
        type: string
        x-ms-client-name: ETag
      cognitiveServices:
        $ref: "#/definitions/CognitiveServices"
        description: Details about cognitive services to be used when running skills.
      description:
        description: The description of the skillset.
        type: string
      name:
        description: The name of the skillset.
        type: string
      skills:
        description: A list of skills in the skillset.
        items:
          $ref: "#/definitions/Skill"
        type: array
    required:
      - name
      - description
      - skills
  SkillsetListResult:
    description: Response from a list Skillset request. If successful, it includes the full definitions of all skillsets.
    properties:
      value:
        description: The skillsets defined in the Search service.
        items:
          $ref: "#/definitions/Skillset"
        readOnly: true
        type: array
        x-ms-client-name: Skillsets
  SnowballTokenFilter:
    allOf:
      - $ref: "#/definitions/TokenFilter"
    description: A filter that stems words using a Snowball-generated stemmer. This token filter is implemented using Apache Lucene.
    externalDocs:
      url: http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/snowball/SnowballFilter.html
    properties:
      language:
        $ref: "#/definitions/SnowballTokenFilterLanguage"
        description: The language to use.
    required:
      - language
    x-ms-discriminator-value: "#Microsoft.Azure.Search.SnowballTokenFilter"
  SnowballTokenFilterLanguage:
    description: The language to use for a Snowball token filter.
    enum:
      - armenian
      - basque
      - catalan
      - danish
      - dutch
      - english
      - finnish
      - french
      - german
      - german2
      - hungarian
      - italian
      - kp
      - lovins
      - norwegian
      - porter
      - portuguese
      - romanian
      - russian
      - spanish
      - swedish
      - turkish
    type: string
    x-ms-enum:
      modelAsString: false
      name: SnowballTokenFilterLanguage
  SoftDeleteColumnDeletionDetectionPolicy:
    allOf:
      - $ref: "#/definitions/DataDeletionDetectionPolicy"
    description: Defines a data deletion detection policy that implements a soft-deletion strategy. It determines whether an item should be deleted based on the value of a designated 'soft delete' column.
    properties:
      softDeleteColumnName:
        description: The name of the column to use for soft-deletion detection.
        type: string
      softDeleteMarkerValue:
        description: The marker value that identifies an item as deleted.
        type: string
    x-ms-discriminator-value: "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy"
  SplitSkill:
    allOf:
      - $ref: "#/definitions/Skill"
    description: A skill to split a string into chunks of text.
    externalDocs:
      url: https://docs.microsoft.com/azure/search/cognitive-search-skill-textsplit
    properties:
      defaultLanguageCode:
        $ref: "#/definitions/SplitSkillLanguage"
        description: A value indicating which language code to use. Default is en.
      maximumPageLength:
        description: The desired maximum page length. Default is 10000.
        format: int32
        type: integer
        x-nullable: true
      textSplitMode:
        $ref: "#/definitions/TextSplitMode"
        description: A value indicating which split mode to perform.
        x-nullable: false
    x-ms-discriminator-value: "#Microsoft.Skills.Text.SplitSkill"
  SplitSkillLanguage:
    description: The language codes supported for input text by SplitSkill.
    enum:
      - da
      - de
      - en
      - es
      - fi
      - fr
      - it
      - ko
      - pt
    type: string
    x-ms-enum:
      modelAsString: false
      name: SplitSkillLanguage
  SqlIntegratedChangeTrackingPolicy:
    allOf:
      - $ref: "#/definitions/DataChangeDetectionPolicy"
    description: Defines a data change detection policy that captures changes using the Integrated Change Tracking feature of Azure SQL Database.
    x-ms-discriminator-value: "#Microsoft.Azure.Search.SqlIntegratedChangeTrackingPolicy"
  StandardAnalyzer:
    allOf:
      - $ref: "#/definitions/Analyzer"
    description: Standard Apache Lucene analyzer; Composed of the standard tokenizer, lowercase filter and stop filter.
    externalDocs:
      url: http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/standard/StandardAnalyzer.html
    properties:
      maxTokenLength:
        default: 255
        description: The maximum token length. Default is 255. Tokens longer than the maximum length are split. The maximum token length that can be used is 300 characters.
        format: int32
        maximum: 300
        type: integer
      stopwords:
        description: A list of stopwords.
        items:
          type: string
        type: array
    x-ms-discriminator-value: "#Microsoft.Azure.Search.StandardAnalyzer"
  StandardTokenizer:
    allOf:
      - $ref: "#/definitions/Tokenizer"
    description: Breaks text following the Unicode Text Segmentation rules. This tokenizer is implemented using Apache Lucene.
    externalDocs:
      url: http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/standard/StandardTokenizer.html
    properties:
      maxTokenLength:
        default: 255
        description: The maximum token length. Default is 255. Tokens longer than the maximum length are split.
        format: int32
        type: integer
    x-ms-discriminator-value: "#Microsoft.Azure.Search.StandardTokenizer"
    x-ms-external: true
  StandardTokenizerV2:
    allOf:
      - $ref: "#/definitions/Tokenizer"
    description: Breaks text following the Unicode Text Segmentation rules. This tokenizer is implemented using Apache Lucene.
    externalDocs:
      url: http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/standard/StandardTokenizer.html
    properties:
      maxTokenLength:
        default: 255
        description: The maximum token length. Default is 255. Tokens longer than the maximum length are split. The maximum token length that can be used is 300 characters.
        format: int32
        maximum: 300
        type: integer
    x-ms-discriminator-value: "#Microsoft.Azure.Search.StandardTokenizerV2"
  StemmerOverrideTokenFilter:
    allOf:
      - $ref: "#/definitions/TokenFilter"
    description: Provides the ability to override other stemming filters with custom dictionary-based stemming. Any dictionary-stemmed terms will be marked as keywords so that they will not be stemmed with stemmers down the chain. Must be placed before any stemming filters. This token filter is implemented using Apache Lucene.
    externalDocs:
      url: http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/StemmerOverrideFilter.html
    properties:
      rules:
        description: 'A list of stemming rules in the following format: "word => stem", for example: "ran => run".'
        items:
          type: string
        type: array
    required:
      - rules
    x-ms-discriminator-value: "#Microsoft.Azure.Search.StemmerOverrideTokenFilter"
  StemmerTokenFilter:
    allOf:
      - $ref: "#/definitions/TokenFilter"
    description: Language specific stemming filter. This token filter is implemented using Apache Lucene.
    externalDocs:
      url: https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search#TokenFilters
    properties:
      language:
        $ref: "#/definitions/StemmerTokenFilterLanguage"
        description: The language to use.
    required:
      - language
    x-ms-discriminator-value: "#Microsoft.Azure.Search.StemmerTokenFilter"
  StemmerTokenFilterLanguage:
    description: The language to use for a stemmer token filter.
    enum:
      - arabic
      - armenian
      - basque
      - brazilian
      - bulgarian
      - catalan
      - czech
      - danish
      - dutch
      - dutchKp
      - english
      - lightEnglish
      - minimalEnglish
      - possessiveEnglish
      - porter2
      - lovins
      - finnish
      - lightFinnish
      - french
      - lightFrench
      - minimalFrench
      - galician
      - minimalGalician
      - german
      - german2
      - lightGerman
      - minimalGerman
      - greek
      - hindi
      - hungarian
      - lightHungarian
      - indonesian
      - irish
      - italian
      - lightItalian
      - sorani
      - latvian
      - norwegian
      - lightNorwegian
      - minimalNorwegian
      - lightNynorsk
      - minimalNynorsk
      - portuguese
      - lightPortuguese
      - minimalPortuguese
      - portugueseRslp
      - romanian
      - russian
      - lightRussian
      - spanish
      - lightSpanish
      - swedish
      - lightSwedish
      - turkish
    type: string
    x-ms-enum:
      modelAsString: false
      name: StemmerTokenFilterLanguage
  StopAnalyzer:
    allOf:
      - $ref: "#/definitions/Analyzer"
    description: Divides text at non-letters; Applies the lowercase and stopword token filters. This analyzer is implemented using Apache Lucene.
    externalDocs:
      url: http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/StopAnalyzer.html
    properties:
      stopwords:
        description: A list of stopwords.
        items:
          type: string
        type: array
    x-ms-discriminator-value: "#Microsoft.Azure.Search.StopAnalyzer"
  StopwordsList:
    description: Identifies a predefined list of language-specific stopwords.
    enum:
      - arabic
      - armenian
      - basque
      - brazilian
      - bulgarian
      - catalan
      - czech
      - danish
      - dutch
      - english
      - finnish
      - french
      - galician
      - german
      - greek
      - hindi
      - hungarian
      - indonesian
      - irish
      - italian
      - latvian
      - norwegian
      - persian
      - portuguese
      - romanian
      - russian
      - sorani
      - spanish
      - swedish
      - thai
      - turkish
    type: string
    x-ms-enum:
      modelAsString: false
      name: StopwordsList
  StopwordsTokenFilter:
    allOf:
      - $ref: "#/definitions/TokenFilter"
    description: Removes stop words from a token stream. This token filter is implemented using Apache Lucene.
    externalDocs:
      url: http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/StopFilter.html
    properties:
      ignoreCase:
        default: false
        description: A value indicating whether to ignore case. If true, all words are converted to lower case first. Default is false.
        type: boolean
      removeTrailing:
        default: true
        description: A value indicating whether to ignore the last search term if it's a stop word. Default is true.
        type: boolean
        x-ms-client-name: RemoveTrailingStopWords
      stopwords:
        description: The list of stopwords. This property and the stopwords list property cannot both be set.
        items:
          type: string
        type: array
      stopwordsList:
        $ref: "#/definitions/StopwordsList"
        default: english
        description: A predefined list of stopwords to use. This property and the stopwords property cannot both be set. Default is English.
    x-ms-discriminator-value: "#Microsoft.Azure.Search.StopwordsTokenFilter"
  Suggester:
    description: Defines how the Suggest API should apply to a group of fields in the index.
    properties:
      name:
        description: The name of the suggester.
        type: string
      searchMode:
        description: A value indicating the capabilities of the suggester.
        enum:
          - analyzingInfixMatching
        type: string
        x-ms-enum:
          modelAsString: false
          name: searchMode
      sourceFields:
        description: The list of field names to which the suggester applies. Each field must be searchable.
        items:
          type: string
        type: array
    required:
      - name
      - searchMode
      - sourceFields
  SynonymMap:
    description: Represents a synonym map definition.
    properties:
      "@odata.etag":
        description: The ETag of the synonym map.
        type: string
        x-ms-client-name: ETag
      format:
        description: The format of the synonym map. Only the 'solr' format is currently supported.
        enum:
          - solr
        type: string
        x-ms-enum:
          modelAsString: false
          name: SynonymMapFormat
      name:
        description: The name of the synonym map.
        externalDocs:
          url: https://docs.microsoft.com/rest/api/searchservice/Naming-rules
        type: string
      synonyms:
        description: A series of synonym rules in the specified synonym map format. The rules must be separated by newlines.
        externalDocs:
          url: https://docs.microsoft.com/rest/api/searchservice/Create-Synonym-Map#SynonymMapFormat
        type: string
    required:
      - name
      - format
      - synonyms
  SynonymMapListResult:
    description: Response from a List SynonymMaps request. If successful, it includes the full definitions of all synonym maps.
    properties:
      value:
        description: The synonym maps in the Search service.
        items:
          $ref: "#/definitions/SynonymMap"
        readOnly: true
        type: array
        x-ms-client-name: SynonymMaps
  SynonymTokenFilter:
    allOf:
      - $ref: "#/definitions/TokenFilter"
    description: Matches single or multi-word synonyms in a token stream. This token filter is implemented using Apache Lucene.
    externalDocs:
      url: http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/synonym/SynonymFilter.html
    properties:
      expand:
        default: true
        description: "A value indicating whether all words in the list of synonyms (if => notation is not used) will map to one another. If true, all words in the list of synonyms (if => notation is not used) will map to one another. The following list: incredible, unbelievable, fabulous, amazing is equivalent to: incredible, unbelievable, fabulous, amazing => incredible, unbelievable, fabulous, amazing. If false, the following list: incredible, unbelievable, fabulous, amazing will be equivalent to: incredible, unbelievable, fabulous, amazing => incredible. Default is true."
        type: boolean
      ignoreCase:
        default: false
        description: A value indicating whether to case-fold input for matching. Default is false.
        type: boolean
      synonyms:
        description: "A list of synonyms in following one of two formats: 1. incredible, unbelievable, fabulous => amazing - all terms on the left side of => symbol will be replaced with all terms on its right side; 2. incredible, unbelievable, fabulous, amazing - comma separated list of equivalent words. Set the expand option to change how this list is interpreted."
        items:
          type: string
        type: array
    required:
      - synonyms
    x-ms-discriminator-value: "#Microsoft.Azure.Search.SynonymTokenFilter"
  TagScoringFunction:
    allOf:
      - $ref: "#/definitions/ScoringFunction"
    description: Defines a function that boosts scores of documents with string values matching a given list of tags.
    externalDocs:
      url: https://docs.microsoft.com/rest/api/searchservice/Add-scoring-profiles-to-a-search-index
    properties:
      tag:
        $ref: "#/definitions/TagScoringParameters"
        description: Parameter values for the tag scoring function.
        x-ms-client-name: Parameters
    required:
      - tag
    x-ms-discriminator-value: tag
  TagScoringParameters:
    description: Provides parameter values to a tag scoring function.
    properties:
      tagsParameter:
        description: The name of the parameter passed in search queries to specify the list of tags to compare against the target field.
        type: string
    required:
      - tagsParameter
  TextExtractionAlgorithm:
    description: A value indicating which algorithm to use. Default is printed.
    enum:
      - printed
      - handwritten
    type: string
    x-ms-enum:
      modelAsString: false
      name: TextExtractionAlgorithm
  TextSplitMode:
    description: A value indicating which split mode to perform.
    enum:
      - pages
      - sentences
    type: string
    x-ms-enum:
      modelAsString: false
      name: TextSplitMode
  TextTranslationSkill:
    allOf:
      - $ref: "#/definitions/Skill"
    description: A skill to translate text from one language to another.
    externalDocs:
      url: https://docs.microsoft.com/azure/search/cognitive-search-skill-text-translation
    properties:
      defaultFromLanguageCode:
        $ref: "#/definitions/TextTranslationSkillLanguage"
        description: The language code to translate documents from for documents that don't specify the from language explicitly.
      defaultToLanguageCode:
        $ref: "#/definitions/TextTranslationSkillLanguage"
        description: "The language code to translate documents into for documents that don't specify the to language explicitly. "
      suggestedFrom:
        $ref: "#/definitions/TextTranslationSkillLanguage"
        description: The language code to translate documents from when neither the fromLanguageCode input nor the defaultFromLanguageCode parameter are provided, and the automatic language detection is unsuccessful. Default is en.
    required:
      - defaultToLanguageCode
    x-ms-discriminator-value: "#Microsoft.Skills.Text.TranslationSkill"
  TextTranslationSkillLanguage:
    description: The language codes supported for input text by TextTranslationSkill.
    enum:
      - af
      - ar
      - bn
      - bs
      - bg
      - yue
      - ca
      - zh-Hans
      - zh-Hant
      - hr
      - cs
      - da
      - nl
      - en
      - et
      - fj
      - fil
      - fi
      - fr
      - de
      - el
      - ht
      - he
      - hi
      - mww
      - hu
      - is
      - id
      - it
      - ja
      - sw
      - tlh
      - ko
      - lv
      - lt
      - mg
      - ms
      - mt
      - nb
      - fa
      - pl
      - pt
      - otq
      - ro
      - ru
      - sm
      - sr-Cyrl
      - sr-Latn
      - sk
      - sl
      - es
      - sv
      - ty
      - ta
      - te
      - th
      - to
      - tr
      - uk
      - ur
      - vi
      - cy
      - yua
    type: string
    x-ms-enum:
      modelAsString: false
      name: TextTranslationSkillLanguage
  TextWeights:
    description: Defines weights on index fields for which matches should boost scoring in search queries.
    properties:
      weights:
        additionalProperties:
          format: double
          type: number
          x-nullable: false
        description: The dictionary of per-field weights to boost document scoring. The keys are field names and the values are the weights for each field.
        type: object
    required:
      - weights
  TokenCharacterKind:
    description: Represents classes of characters on which a token filter can operate.
    enum:
      - letter
      - digit
      - whitespace
      - punctuation
      - symbol
    type: string
    x-ms-enum:
      modelAsString: false
      name: TokenCharacterKind
  TokenFilter:
    description: Abstract base class for token filters.
    discriminator: "@odata.type"
    externalDocs:
      url: https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search
    properties:
      "@odata.type":
        type: string
      name:
        description: The name of the token filter. It must only contain letters, digits, spaces, dashes or underscores, can only start and end with alphanumeric characters, and is limited to 128 characters.
        externalDocs:
          url: https://docs.microsoft.com/rest/api/searchservice/custom-analyzers-in-azure-search#index-attribute-reference
        type: string
    required:
      - "@odata.type"
      - name
  TokenFilterName:
    description: Defines the names of all token filters supported by Azure Cognitive Search.
    enum:
      - arabic_normalization
      - apostrophe
      - asciifolding
      - cjk_bigram
      - cjk_width
      - classic
      - common_grams
      - edgeNGram_v2
      - elision
      - german_normalization
      - hindi_normalization
      - indic_normalization
      - keyword_repeat
      - kstem
      - length
      - limit
      - lowercase
      - nGram_v2
      - persian_normalization
      - phonetic
      - porter_stem
      - reverse
      - scandinavian_normalization
      - scandinavian_folding
      - shingle
      - snowball
      - sorani_normalization
      - stemmer
      - stopwords
      - trim
      - truncate
      - unique
      - uppercase
      - word_delimiter
    externalDocs:
      url: https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search
    type: string
    x-ms-enum:
      modelAsString: false
      name: TokenFilterName
  TokenInfo:
    description: Information about a token returned by an analyzer.
    properties:
      endOffset:
        description: The index of the last character of the token in the input text.
        format: int32
        readOnly: true
        type: integer
      position:
        description: The position of the token in the input text relative to other tokens. The first token in the input text has position 0, the next has position 1, and so on. Depending on the analyzer used, some tokens might have the same position, for example if they are synonyms of each other.
        format: int32
        readOnly: true
        type: integer
      startOffset:
        description: The index of the first character of the token in the input text.
        format: int32
        readOnly: true
        type: integer
      token:
        description: The token returned by the analyzer.
        readOnly: true
        type: string
  Tokenizer:
    description: Abstract base class for tokenizers.
    discriminator: "@odata.type"
    externalDocs:
      url: https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search
    properties:
      "@odata.type":
        type: string
      name:
        description: The name of the tokenizer. It must only contain letters, digits, spaces, dashes or underscores, can only start and end with alphanumeric characters, and is limited to 128 characters.
        externalDocs:
          url: https://docs.microsoft.com/rest/api/searchservice/custom-analyzers-in-azure-search#index-attribute-reference
        type: string
    required:
      - "@odata.type"
      - name
  TokenizerName:
    description: Defines the names of all tokenizers supported by Azure Cognitive Search.
    enum:
      - classic
      - edgeNGram
      - keyword_v2
      - letter
      - lowercase
      - microsoft_language_tokenizer
      - microsoft_language_stemming_tokenizer
      - nGram
      - path_hierarchy_v2
      - pattern
      - standard_v2
      - uax_url_email
      - whitespace
    externalDocs:
      url: https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search
    type: string
    x-ms-enum:
      modelAsString: false
      name: TokenizerName
  TruncateTokenFilter:
    allOf:
      - $ref: "#/definitions/TokenFilter"
    description: Truncates the terms to a specific length. This token filter is implemented using Apache Lucene.
    externalDocs:
      url: http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/TruncateTokenFilter.html
    properties:
      length:
        default: 300
        description: The length at which terms will be truncated. Default and maximum is 300.
        format: int32
        maximum: 300
        type: integer
    x-ms-discriminator-value: "#Microsoft.Azure.Search.TruncateTokenFilter"
  UaxUrlEmailTokenizer:
    allOf:
      - $ref: "#/definitions/Tokenizer"
    description: Tokenizes urls and emails as one token. This tokenizer is implemented using Apache Lucene.
    externalDocs:
      url: http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/standard/UAX29URLEmailTokenizer.html
    properties:
      maxTokenLength:
        default: 255
        description: The maximum token length. Default is 255. Tokens longer than the maximum length are split. The maximum token length that can be used is 300 characters.
        format: int32
        maximum: 300
        type: integer
    x-ms-discriminator-value: "#Microsoft.Azure.Search.UaxUrlEmailTokenizer"
  UniqueTokenFilter:
    allOf:
      - $ref: "#/definitions/TokenFilter"
    description: Filters out tokens with same text as the previous token. This token filter is implemented using Apache Lucene.
    externalDocs:
      url: http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/RemoveDuplicatesTokenFilter.html
    properties:
      onlyOnSamePosition:
        default: false
        description: A value indicating whether to remove duplicates only at the same position. Default is false.
        type: boolean
    x-ms-discriminator-value: "#Microsoft.Azure.Search.UniqueTokenFilter"
  VisualFeature:
    description: The strings indicating what visual feature types to return.
    enum:
      - categories
      - tags
      - description
      - faces
      - imageType
      - color
    type: string
    x-ms-enum:
      modelAsString: false
      name: VisualFeature
  WebApiHttpHeaders:
    additionalProperties:
      type: string
    description: A dictionary of http request headers.
    type: object
  WebApiSkill:
    allOf:
      - $ref: "#/definitions/Skill"
    description: A skill that can call a Web API endpoint, allowing you to extend a skillset by having it call your custom code.
    externalDocs:
      url: https://docs.microsoft.com/azure/search/cognitive-search-custom-skill-web-api
    properties:
      batchSize:
        description: The desired batch size which indicates number of documents.
        format: int32
        type: integer
        x-nullable: true
      degreeOfParallelism:
        description: If set, the number of parallel calls that can be made to the Web API.
        format: int32
        type: integer
        x-nullable: true
      httpHeaders:
        $ref: "#/definitions/WebApiHttpHeaders"
        description: The headers required to make the http request.
      httpMethod:
        description: The method for the http request.
        type: string
      timeout:
        description: The desired timeout for the request. Default is 30 seconds.
        format: duration
        type: string
      uri:
        description: The url for the Web API.
        type: string
    required:
      - uri
    x-ms-discriminator-value: "#Microsoft.Skills.Custom.WebApiSkill"
  WordDelimiterTokenFilter:
    allOf:
      - $ref: "#/definitions/TokenFilter"
    description: Splits words into subwords and performs optional transformations on subword groups. This token filter is implemented using Apache Lucene.
    externalDocs:
      url: http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/WordDelimiterFilter.html
    properties:
      catenateAll:
        default: false
        description: A value indicating whether all subword parts will be catenated. For example, if this is set to true, "Azure-Search-1" becomes "AzureSearch1". Default is false.
        type: boolean
      catenateNumbers:
        default: false
        description: A value indicating whether maximum runs of number parts will be catenated. For example, if this is set to true, "1-2" becomes "12". Default is false.
        type: boolean
      catenateWords:
        default: false
        description: A value indicating whether maximum runs of word parts will be catenated. For example, if this is set to true, "Azure-Search" becomes "AzureSearch". Default is false.
        type: boolean
      generateNumberParts:
        default: true
        description: A value indicating whether to generate number subwords. Default is true.
        type: boolean
      generateWordParts:
        default: true
        description: A value indicating whether to generate part words. If set, causes parts of words to be generated; for example "AzureSearch" becomes "Azure" "Search". Default is true.
        type: boolean
      preserveOriginal:
        default: false
        description: A value indicating whether original words will be preserved and added to the subword list. Default is false.
        type: boolean
      protectedWords:
        description: A list of tokens to protect from being delimited.
        items:
          type: string
        type: array
      splitOnCaseChange:
        default: true
        description: A value indicating whether to split words on caseChange. For example, if this is set to true, "AzureSearch" becomes "Azure" "Search". Default is true.
        type: boolean
      splitOnNumerics:
        default: true
        description: A value indicating whether to split on numbers. For example, if this is set to true, "Azure1Search" becomes "Azure" "1" "Search". Default is true.
        type: boolean
      stemEnglishPossessive:
        default: true
        description: A value indicating whether to remove trailing "'s" for each subword. Default is true.
        type: boolean
    x-ms-discriminator-value: "#Microsoft.Azure.Search.WordDelimiterTokenFilter"
x-ms-parameterized-host:
  hostTemplate: https://{searchServiceName}.{searchDnsSuffix}
  parameters:
    - $ref: "#/parameters/SearchServiceNameParameter"
    - $ref: "#/parameters/SearchDnsSuffixParameter"
  useSchemePrefix: false
