azure.ai.search
Module azure.ai.search
API
Definitions
ballerinax/azure.ai.search Ballerina library
Ballerina Azure AI Search connector
Overview
Azure AI Search is a cloud search service that gives developers infrastructure, APIs, and tools for building a rich search experience over private, heterogeneous content in web, mobile, and enterprise applications.
The ballarinax/azure.ai.search package offers functionality to connect and interact with Azure AI Search REST API enabling seamless integration with Azure's powerful search and indexing capabilities for building comprehensive search solutions.
Setup guide
To use the Azure AI Search Connector, you must have an Azure subscription and an Azure AI Search service. If you do not have an Azure account, you can sign up for one here.
Create an Azure AI Search service
-
Sign in to the Azure portal.
-
Click on "Create a resource" and search for "AI Search".
-
Select "AI Search" and click "Create".
-
Fill in the required details:
- Resource group: Select or create a new resource group
- Service name: Choose a unique name for your search service
- Location: Select a region close to your application
- Pricing tier: Choose the appropriate tier based on your needs
-
Click "Review + create" and then "Create" to provision the service.
Get the service URL and admin key
-
Once the service is created, navigate to your Azure AI Search service in the Azure portal.
-
In the "Overview" section, note the URL (e.g.,
https://your-service.search.windows.net). -
Navigate to "Keys" in the left menu to find your admin keys.
-
Copy either the primary or secondary admin key to use in your application.
Quickstart
To use the Azure AI Search connector in your Ballerina application, update the .bal file as follows:
Step 1: Import the module
Import the ballerinax/azure.ai.search module.
import ballerinax/azure.ai.search as azureSearch;
Step 2: Create a new connector instance
Create an azureSearch:Client with your Azure AI Search service URL and admin key.
configurable string serviceUrl = ?; configurable string adminKey = ?; final azureSearch:Client searchClient = check new (serviceUrl, {});
Step 3: Invoke the connector operation
Now, you can utilize available connector operations.
Create a search index
public function main() returns error? { // Define a simple search index azureSearch:SearchIndex searchIndex = { name: "hotels", fields: [ { name: "id", 'type: "Edm.String", 'key: true, searchable: false }, { name: "name", 'type: "Edm.String", searchable: true, filterable: true } ] }; SearchIndex response = check searchClient->indexesCreate(searchIndex, {"api-key": adminKey}, { api\-version: "2025-09-01" }); }
Step 4: Run the Ballerina application
bal run
Examples
The Azure AI Search connector provides practical examples illustrating usage in various scenarios. Explore these examples, covering the following use cases:
- RAG ingestion - A comprehensive example demonstrating the complete Azure AI Search workflow including data source creation, index creation, indexer setup, and execution.
Build from the source
Setting up the prerequisites
-
Download and install Java SE Development Kit (JDK) version 17. You can download it from either of the following sources:
Note: After installation, remember to set the
JAVA_HOMEenvironment variable to the directory where JDK was installed. -
Download and install Ballerina Swan Lake.
-
Download and install Docker.
Note: Ensure that the Docker daemon is running before executing any tests.
-
Export Github Personal access token with read package permissions as follows,
export packageUser=<Username> export packagePAT=<Personal access token>
Build options
Execute the commands below to build from the source.
-
To build the package:
./gradlew clean build -
To run the tests:
./gradlew clean test -
To build the without the tests:
./gradlew clean build -x test -
To run tests against different environments:
./gradlew clean test -Pgroups=<Comma separated groups/test cases> -
To debug the package with a remote debugger:
./gradlew clean build -Pdebug=<port> -
To debug with the Ballerina language:
./gradlew clean build -PbalJavaDebug=<port> -
Publish the generated artifacts to the local Ballerina Central repository:
./gradlew clean build -PpublishToLocalCentral=true -
Publish the generated artifacts to the Ballerina Central repository:
./gradlew clean build -PpublishToCentral=true
Contribute to Ballerina
As an open-source project, Ballerina welcomes contributions from the community.
For more information, go to the contribution guidelines.
Code of conduct
All the contributors are encouraged to read the Ballerina Code of Conduct.
Useful links
- For more information go to the
azure.ai.searchpackage. - For example demonstrations of the usage, go to Ballerina By Examples.
- Chat live with us via our Discord server.
- Post all technical questions on Stack Overflow with the #ballerina tag.
Clients
azure.ai.search: Client
Client that can be used to manage and query indexes and documents, as well as manage other resources, on a search service.
Constructor
Gets invoked to initialize the connector.
init (string serviceUrl, ConnectionConfig config)- serviceUrl string - URL of the target service
- config ConnectionConfig {} - The configurations to be used when initializing the
connector
dataSourcesGet
function dataSourcesGet(string dataSourceName, DataSourcesGetHeaders headers, *DataSourcesGetQueries queries) returns SearchIndexerDataSource|errorRetrieves a datasource definition.
Parameters
- dataSourceName string - The name of the datasource to retrieve.
- headers DataSourcesGetHeaders (default {}) - Headers to be sent with the request
- queries *DataSourcesGetQueries - Queries to be sent with the request
dataSourcesCreateOrUpdate
function dataSourcesCreateOrUpdate(string dataSourceName, DataSourcesCreateOrUpdateHeaders headers, SearchIndexerDataSource payload, *DataSourcesCreateOrUpdateQueries queries) returns SearchIndexerDataSource|errorCreates a new datasource or updates a datasource if it already exists.
Parameters
- dataSourceName string - The name of the datasource to create or update.
- headers DataSourcesCreateOrUpdateHeaders - Headers to be sent with the request
- payload SearchIndexerDataSource - The definition of the datasource to create or update.
- queries *DataSourcesCreateOrUpdateQueries - Queries to be sent with the request
dataSourcesDelete
function dataSourcesDelete(string dataSourceName, DataSourcesDeleteHeaders headers, *DataSourcesDeleteQueries queries) returns error?Deletes a datasource.
Parameters
- dataSourceName string - The name of the datasource to delete.
- headers DataSourcesDeleteHeaders (default {}) - Headers to be sent with the request
- queries *DataSourcesDeleteQueries - Queries to be sent with the request
dataSourcesList
function dataSourcesList(DataSourcesListHeaders headers, *DataSourcesListQueries queries) returns ListDataSourcesResult|errorLists all datasources available for a search service.
Parameters
- headers DataSourcesListHeaders (default {}) - Headers to be sent with the request
- queries *DataSourcesListQueries - Queries to be sent with the request
dataSourcesCreate
function dataSourcesCreate(SearchIndexerDataSource payload, DataSourcesCreateHeaders headers, *DataSourcesCreateQueries queries) returns SearchIndexerDataSource|errorCreates a new datasource.
Parameters
- payload SearchIndexerDataSource - The definition of the datasource to create.
- headers DataSourcesCreateHeaders (default {}) - Headers to be sent with the request
- queries *DataSourcesCreateQueries - Queries to be sent with the request
indexersReset
function indexersReset(string indexerName, IndexersResetHeaders headers, *IndexersResetQueries queries) returns error?Resets the change tracking state associated with an indexer.
Parameters
- indexerName string - The name of the indexer to reset.
- headers IndexersResetHeaders (default {}) - Headers to be sent with the request
- queries *IndexersResetQueries - Queries to be sent with the request
indexersRun
function indexersRun(string indexerName, IndexersRunHeaders headers, *IndexersRunQueries queries) returns error?Runs an indexer on-demand.
Parameters
- indexerName string - The name of the indexer to run.
- headers IndexersRunHeaders (default {}) - Headers to be sent with the request
- queries *IndexersRunQueries - Queries to be sent with the request
indexersGet
function indexersGet(string indexerName, IndexersGetHeaders headers, *IndexersGetQueries queries) returns SearchIndexer|errorRetrieves an indexer definition.
Parameters
- indexerName string - The name of the indexer to retrieve.
- headers IndexersGetHeaders (default {}) - Headers to be sent with the request
- queries *IndexersGetQueries - Queries to be sent with the request
indexersCreateOrUpdate
function indexersCreateOrUpdate(string indexerName, IndexersCreateOrUpdateHeaders headers, SearchIndexer payload, *IndexersCreateOrUpdateQueries queries) returns SearchIndexer|errorCreates a new indexer or updates an indexer if it already exists.
Parameters
- indexerName string - The name of the indexer to create or update.
- headers IndexersCreateOrUpdateHeaders - Headers to be sent with the request
- payload SearchIndexer - The definition of the indexer to create or update.
- queries *IndexersCreateOrUpdateQueries - Queries to be sent with the request
indexersDelete
function indexersDelete(string indexerName, IndexersDeleteHeaders headers, *IndexersDeleteQueries queries) returns error?Deletes an indexer.
Parameters
- indexerName string - The name of the indexer to delete.
- headers IndexersDeleteHeaders (default {}) - Headers to be sent with the request
- queries *IndexersDeleteQueries - Queries to be sent with the request
indexersList
function indexersList(IndexersListHeaders headers, *IndexersListQueries queries) returns ListIndexersResult|errorLists all indexers available for a search service.
Parameters
- headers IndexersListHeaders (default {}) - Headers to be sent with the request
- queries *IndexersListQueries - Queries to be sent with the request
indexersCreate
function indexersCreate(SearchIndexer payload, IndexersCreateHeaders headers, *IndexersCreateQueries queries) returns SearchIndexer|errorCreates a new indexer.
Parameters
- payload SearchIndexer - The definition of the indexer to create.
- headers IndexersCreateHeaders (default {}) - Headers to be sent with the request
- queries *IndexersCreateQueries - Queries to be sent with the request
indexersGetStatus
function indexersGetStatus(string indexerName, IndexersGetStatusHeaders headers, *IndexersGetStatusQueries queries) returns SearchIndexerStatus|errorReturns the current status and execution history of an indexer.
Parameters
- indexerName string - The name of the indexer for which to retrieve status.
- headers IndexersGetStatusHeaders (default {}) - Headers to be sent with the request
- queries *IndexersGetStatusQueries - Queries to be sent with the request
skillsetsGet
function skillsetsGet(string skillsetName, SkillsetsGetHeaders headers, *SkillsetsGetQueries queries) returns SearchIndexerSkillset|errorRetrieves a skillset in a search service.
Parameters
- skillsetName string - The name of the skillset to retrieve.
- headers SkillsetsGetHeaders (default {}) - Headers to be sent with the request
- queries *SkillsetsGetQueries - Queries to be sent with the request
Return Type
- SearchIndexerSkillset|error - The skillset is successfully returned.
skillsetsCreateOrUpdate
function skillsetsCreateOrUpdate(string skillsetName, SkillsetsCreateOrUpdateHeaders headers, SearchIndexerSkillset payload, *SkillsetsCreateOrUpdateQueries queries) returns SearchIndexerSkillset|errorCreates a new skillset in a search service or updates the skillset if it already exists.
Parameters
- skillsetName string - The name of the skillset to create or update.
- headers SkillsetsCreateOrUpdateHeaders - Headers to be sent with the request
- payload SearchIndexerSkillset - The skillset containing one or more skills to create or update in a search service.
- queries *SkillsetsCreateOrUpdateQueries - Queries to be sent with the request
Return Type
- SearchIndexerSkillset|error - The skillset is successfully updated.
skillsetsDelete
function skillsetsDelete(string skillsetName, SkillsetsDeleteHeaders headers, *SkillsetsDeleteQueries queries) returns error?Deletes a skillset in a search service.
Parameters
- skillsetName string - The name of the skillset to delete.
- headers SkillsetsDeleteHeaders (default {}) - Headers to be sent with the request
- queries *SkillsetsDeleteQueries - Queries to be sent with the request
Return Type
- error? - The skillset is successfully deleted.
skillsetsList
function skillsetsList(SkillsetsListHeaders headers, *SkillsetsListQueries queries) returns ListSkillsetsResult|errorList all skillsets in a search service.
Parameters
- headers SkillsetsListHeaders (default {}) - Headers to be sent with the request
- queries *SkillsetsListQueries - Queries to be sent with the request
Return Type
- ListSkillsetsResult|error - The list is successfully returned.
skillsetsCreate
function skillsetsCreate(SearchIndexerSkillset payload, SkillsetsCreateHeaders headers, *SkillsetsCreateQueries queries) returns SearchIndexerSkillset|errorCreates a new skillset in a search service.
Parameters
- payload SearchIndexerSkillset - The skillset containing one or more skills to create in a search service.
- headers SkillsetsCreateHeaders (default {}) - Headers to be sent with the request
- queries *SkillsetsCreateQueries - Queries to be sent with the request
Return Type
- SearchIndexerSkillset|error - The skillset is successfully created.
synonymMapsGet
function synonymMapsGet(string synonymMapName, SynonymMapsGetHeaders headers, *SynonymMapsGetQueries queries) returns SynonymMap|errorRetrieves a synonym map definition.
Parameters
- synonymMapName string - The name of the synonym map to retrieve.
- headers SynonymMapsGetHeaders (default {}) - Headers to be sent with the request
- queries *SynonymMapsGetQueries - Queries to be sent with the request
synonymMapsCreateOrUpdate
function synonymMapsCreateOrUpdate(string synonymMapName, SynonymMapsCreateOrUpdateHeaders headers, SynonymMap payload, *SynonymMapsCreateOrUpdateQueries queries) returns SynonymMap|errorCreates a new synonym map or updates a synonym map if it already exists.
Parameters
- synonymMapName string - The name of the synonym map to create or update.
- headers SynonymMapsCreateOrUpdateHeaders - Headers to be sent with the request
- payload SynonymMap - The definition of the synonym map to create or update.
- queries *SynonymMapsCreateOrUpdateQueries - Queries to be sent with the request
synonymMapsDelete
function synonymMapsDelete(string synonymMapName, SynonymMapsDeleteHeaders headers, *SynonymMapsDeleteQueries queries) returns error?Deletes a synonym map.
Parameters
- synonymMapName string - The name of the synonym map to delete.
- headers SynonymMapsDeleteHeaders (default {}) - Headers to be sent with the request
- queries *SynonymMapsDeleteQueries - Queries to be sent with the request
synonymMapsList
function synonymMapsList(SynonymMapsListHeaders headers, *SynonymMapsListQueries queries) returns ListSynonymMapsResult|errorLists all synonym maps available for a search service.
Parameters
- headers SynonymMapsListHeaders (default {}) - Headers to be sent with the request
- queries *SynonymMapsListQueries - Queries to be sent with the request
synonymMapsCreate
function synonymMapsCreate(SynonymMap payload, SynonymMapsCreateHeaders headers, *SynonymMapsCreateQueries queries) returns SynonymMap|errorCreates a new synonym map.
Parameters
- payload SynonymMap - The definition of the synonym map to create.
- headers SynonymMapsCreateHeaders (default {}) - Headers to be sent with the request
- queries *SynonymMapsCreateQueries - Queries to be sent with the request
indexesList
function indexesList(IndexesListHeaders headers, *IndexesListQueries queries) returns ListIndexesResult|errorLists all indexes available for a search service.
Parameters
- headers IndexesListHeaders (default {}) - Headers to be sent with the request
- queries *IndexesListQueries - Queries to be sent with the request
indexesCreate
function indexesCreate(SearchIndex payload, IndexesCreateHeaders headers, *IndexesCreateQueries queries) returns SearchIndex|errorCreates a new search index.
Parameters
- payload SearchIndex - The definition of the index to create.
- headers IndexesCreateHeaders (default {}) - Headers to be sent with the request
- queries *IndexesCreateQueries - Queries to be sent with the request
indexesGet
function indexesGet(string indexName, IndexesGetHeaders headers, *IndexesGetQueries queries) returns SearchIndex|errorRetrieves an index definition.
Parameters
- indexName string - The name of the index to retrieve.
- headers IndexesGetHeaders (default {}) - Headers to be sent with the request
- queries *IndexesGetQueries - Queries to be sent with the request
indexesCreateOrUpdate
function indexesCreateOrUpdate(string indexName, IndexesCreateOrUpdateHeaders headers, SearchIndex payload, *IndexesCreateOrUpdateQueries queries) returns SearchIndex|errorCreates a new search index or updates an index if it already exists.
Parameters
- indexName string - The definition of the index to create or update.
- headers IndexesCreateOrUpdateHeaders - Headers to be sent with the request
- payload SearchIndex - The definition of the index to create or update.
- queries *IndexesCreateOrUpdateQueries - Queries to be sent with the request
indexesDelete
function indexesDelete(string indexName, IndexesDeleteHeaders headers, *IndexesDeleteQueries queries) returns error?Deletes a search index and all the documents it contains. This operation is permanent, with no recovery option. Make sure you have a master copy of your index definition, data ingestion code, and a backup of the primary data source in case you need to re-build the index.
Parameters
- indexName string - The name of the index to delete.
- headers IndexesDeleteHeaders (default {}) - Headers to be sent with the request
- queries *IndexesDeleteQueries - Queries to be sent with the request
indexesGetStatistics
function indexesGetStatistics(string indexName, IndexesGetStatisticsHeaders headers, *IndexesGetStatisticsQueries queries) returns GetIndexStatisticsResult|errorReturns statistics for the given index, including a document count and storage usage.
Parameters
- indexName string - The name of the index for which to retrieve statistics.
- headers IndexesGetStatisticsHeaders (default {}) - Headers to be sent with the request
- queries *IndexesGetStatisticsQueries - Queries to be sent with the request
indexesAnalyze
function indexesAnalyze(string indexName, AnalyzeRequest payload, IndexesAnalyzeHeaders headers, *IndexesAnalyzeQueries queries) returns AnalyzeResult|errorShows how an analyzer breaks text into tokens.
Parameters
- indexName string - The name of the index for which to test an analyzer.
- payload AnalyzeRequest - The text and analyzer or analysis components to test.
- headers IndexesAnalyzeHeaders (default {}) - Headers to be sent with the request
- queries *IndexesAnalyzeQueries - Queries to be sent with the request
getServiceStatistics
function getServiceStatistics(GetServiceStatisticsHeaders headers, *GetServiceStatisticsQueries queries) returns ServiceStatistics|errorGets service level statistics for a search service.
Parameters
- headers GetServiceStatisticsHeaders (default {}) - Headers to be sent with the request
- queries *GetServiceStatisticsQueries - Queries to be sent with the request
Records
azure.ai.search: AnalyzedTokenInfo
Information about a token returned by an analyzer.
Fields
- token string - The token returned by the analyzer.
- startOffset Signed32 - The index of the first character of the token in the input text.
- endOffset Signed32 - The index of the last character of the token in the input text.
- position Signed32 - 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.
azure.ai.search: AnalyzeRequest
Specifies some text and analysis components used to break that text into tokens.
Fields
- text string - The text to break into tokens.
- analyzer? LexicalAnalyzerName - Defines the names of all text analyzers supported by the search engine.
- tokenizer? LexicalTokenizerName - Defines the names of all tokenizers supported by the search engine.
- normalizer? LexicalNormalizerName - Defines the names of all text normalizers supported by the search engine.
- tokenFilters? TokenFilterName[] - An optional list of token filters to use when breaking the given text. This parameter can only be set when using the tokenizer parameter.
- charFilters? CharFilterName[] - An optional list of character filters to use when breaking the given text. This parameter can only be set when using the tokenizer parameter.
azure.ai.search: AnalyzeResult
The result of testing an analyzer on text.
Fields
- tokens AnalyzedTokenInfo[] - The list of tokens returned by the analyzer specified in the request.
azure.ai.search: AzureActiveDirectoryApplicationCredentials
Credentials of a registered application created for your search service, used for authenticated access to the encryption keys stored in Azure Key Vault.
Fields
- applicationId string - An AAD Application ID that was granted the required access permissions to the Azure Key Vault that is to be used when encrypting your data at rest. The Application ID should not be confused with the Object ID for your AAD Application.
- applicationSecret? string - The authentication key of the specified AAD application.
azure.ai.search: CharFilter
Base type for character filters.
Fields
- \@odata\.type string - A URI fragment specifying the type of char filter.
- name string - 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.
azure.ai.search: CognitiveServicesAccount
Base type for describing any Azure AI service resource attached to a skillset.
Fields
- \@odata\.type string - A URI fragment specifying the type of Azure AI service resource attached to a skillset.
- description? string - Description of the Azure AI service resource attached to a skillset.
azure.ai.search: ConnectionConfig
Provides a set of configurations for controlling the behaviours when communicating with a remote HTTP endpoint.
Fields
- httpVersion HttpVersion(default http:HTTP_2_0) - The HTTP version understood by the client
- http1Settings ClientHttp1Settings(default {}) - Configurations related to HTTP/1.x protocol
- http2Settings ClientHttp2Settings(default {}) - Configurations related to HTTP/2 protocol
- timeout decimal(default 30) - The maximum time to wait (in seconds) for a response before closing the connection
- forwarded string(default "disable") - The choice of setting
forwarded/x-forwardedheader
- followRedirects? FollowRedirects - Configurations associated with Redirection
- poolConfig? PoolConfiguration - Configurations associated with request pooling
- cache CacheConfig(default {}) - HTTP caching related configurations
- compression Compression(default http:COMPRESSION_AUTO) - Specifies the way of handling compression (
accept-encoding) header
- circuitBreaker? CircuitBreakerConfig - Configurations associated with the behaviour of the Circuit Breaker
- retryConfig? RetryConfig - Configurations associated with retrying
- cookieConfig? CookieConfig - Configurations associated with cookies
- responseLimits ResponseLimitConfigs(default {}) - Configurations associated with inbound response size limits
- secureSocket? ClientSecureSocket - SSL/TLS-related options
- proxy? ProxyConfig - Proxy server related options
- socketConfig ClientSocketConfig(default {}) - Provides settings related to client socket configuration
- validation boolean(default true) - Enables the inbound payload validation functionality which provided by the constraint package. Enabled by default
- laxDataBinding boolean(default true) - Enables relaxed data binding on the client side. When enabled,
nilvalues are treated as optional, and absent fields are handled asnilabletypes. Enabled by default.
azure.ai.search: CorsOptions
Defines options to control Cross-Origin Resource Sharing (CORS) for an index.
Fields
- allowedOrigins string[] - 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).
- maxAgeInSeconds? int? - The duration for which browsers should cache CORS preflight responses. Defaults to 5 minutes.
azure.ai.search: DataChangeDetectionPolicy
Base type for data change detection policies.
Fields
- \@odata\.type string - A URI fragment specifying the type of data change detection policy.
azure.ai.search: DataDeletionDetectionPolicy
Base type for data deletion detection policies.
Fields
- \@odata\.type string - A URI fragment specifying the type of data deletion detection policy.
azure.ai.search: DataSourceCredentials
Represents credentials that can be used to connect to a datasource.
Fields
- connectionString? string - The connection string for the datasource. For Azure SQL, Azure Blob, ADLS Gen 2 and Azure Table, this would be the connection string or resource ID if using managed identity. For CosmosDB this would be a formatted connection string specifying ApiKind or resource ID for managed identity. For Onelake files, connection string would be either the workspace guid or workspace FQDN; Onelake only supports managed identity connections. Set to
<unchanged>(with brackets) if you don't want the connection string updated. Set to<redacted>if you want to remove the connection string value from the datasource.
azure.ai.search: DataSourcesCreateHeaders
Represents the Headers record for the operation: dataSourcesCreate
Fields
- x\-ms\-client\-request\-id? string - The tracking ID sent with the request to help with debugging.
azure.ai.search: DataSourcesCreateOrUpdateHeaders
Represents the Headers record for the operation: dataSourcesCreateOrUpdate
Fields
- If\-None\-Match? string - Defines the If-None-Match condition. The operation will be performed only if the ETag on the server does not match this value.
- If\-Match? string - Defines the If-Match condition. The operation will be performed only if the ETag on the server matches this value.
- Prefer "return=representation" - For HTTP PUT requests, instructs the service to return the created/updated resource on success.
- x\-ms\-client\-request\-id? string - The tracking ID sent with the request to help with debugging.
azure.ai.search: DataSourcesCreateOrUpdateQueries
Represents the Queries record for the operation: dataSourcesCreateOrUpdate
Fields
- api\-version string - Client Api Version.
azure.ai.search: DataSourcesCreateQueries
Represents the Queries record for the operation: dataSourcesCreate
Fields
- api\-version string - Client Api Version.
azure.ai.search: DataSourcesDeleteHeaders
Represents the Headers record for the operation: dataSourcesDelete
Fields
- If\-None\-Match? string - Defines the If-None-Match condition. The operation will be performed only if the ETag on the server does not match this value.
- If\-Match? string - Defines the If-Match condition. The operation will be performed only if the ETag on the server matches this value.
- x\-ms\-client\-request\-id? string - The tracking ID sent with the request to help with debugging.
azure.ai.search: DataSourcesDeleteQueries
Represents the Queries record for the operation: dataSourcesDelete
Fields
- api\-version string - Client Api Version.
azure.ai.search: DataSourcesGetHeaders
Represents the Headers record for the operation: dataSourcesGet
Fields
- x\-ms\-client\-request\-id? string - The tracking ID sent with the request to help with debugging.
azure.ai.search: DataSourcesGetQueries
Represents the Queries record for the operation: dataSourcesGet
Fields
- api\-version string - Client Api Version.
azure.ai.search: DataSourcesListHeaders
Represents the Headers record for the operation: dataSourcesList
Fields
- x\-ms\-client\-request\-id? string - The tracking ID sent with the request to help with debugging.
azure.ai.search: DataSourcesListQueries
Represents the Queries record for the operation: dataSourcesList
Fields
- api\-version string - Client Api Version.
- \$select? string - Selects which top-level properties of the data sources to retrieve. Specified as a comma-separated list of JSON property names, or '*' for all properties. The default is all properties.
azure.ai.search: FieldMapping
Defines a mapping between a field in a data source and a target field in an index.
Fields
- sourceFieldName string - The name of the field in the data source.
- targetFieldName? string - The name of the target field in the index. Same as the source field name by default.
- mappingFunction? FieldMappingFunction - Represents a function that transforms a value from a data source before indexing.
azure.ai.search: FieldMappingFunction
Represents a function that transforms a value from a data source before indexing.
Fields
- name string - The name of the field mapping function.
- parameters? record {}? - A dictionary of parameter name/value pairs to pass to the function. Each value must be of a primitive type.
azure.ai.search: GetIndexStatisticsResult
Statistics for a given index. Statistics are collected periodically and are not guaranteed to always be up-to-date.
Fields
- documentCount int - The number of documents in the index.
- storageSize int - The amount of storage in bytes consumed by the index.
- vectorIndexSize int - The amount of memory in bytes consumed by vectors in the index.
azure.ai.search: GetServiceStatisticsHeaders
Represents the Headers record for the operation: getServiceStatistics
Fields
- x\-ms\-client\-request\-id? string - The tracking ID sent with the request to help with debugging.
azure.ai.search: GetServiceStatisticsQueries
Represents the Queries record for the operation: getServiceStatistics
Fields
- api\-version string - Client Api Version.
azure.ai.search: IndexerExecutionResult
Represents the result of an individual indexer execution.
Fields
- status IndexerExecutionStatus - Represents the status of an individual indexer execution.
- errorMessage? string - The error message indicating the top-level error, if any.
- startTime? string - The start time of this indexer execution.
- endTime? string? - The end time of this indexer execution, if the execution has already completed.
- errors SearchIndexerError[] - The item-level indexing errors.
- warnings SearchIndexerWarning[] - The item-level indexing warnings.
- itemsProcessed Signed32 - 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.
- itemsFailed Signed32 - The number of items that failed to be indexed during this indexer execution.
- initialTrackingState? string - Change tracking state with which an indexer execution started.
- finalTrackingState? string - Change tracking state with which an indexer execution finished.
azure.ai.search: IndexersCreateHeaders
Represents the Headers record for the operation: indexersCreate
Fields
- x\-ms\-client\-request\-id? string - The tracking ID sent with the request to help with debugging.
azure.ai.search: IndexersCreateOrUpdateHeaders
Represents the Headers record for the operation: indexersCreateOrUpdate
Fields
- If\-None\-Match? string - Defines the If-None-Match condition. The operation will be performed only if the ETag on the server does not match this value.
- If\-Match? string - Defines the If-Match condition. The operation will be performed only if the ETag on the server matches this value.
- Prefer "return=representation" - For HTTP PUT requests, instructs the service to return the created/updated resource on success.
- x\-ms\-client\-request\-id? string - The tracking ID sent with the request to help with debugging.
azure.ai.search: IndexersCreateOrUpdateQueries
Represents the Queries record for the operation: indexersCreateOrUpdate
Fields
- api\-version string - Client Api Version.
azure.ai.search: IndexersCreateQueries
Represents the Queries record for the operation: indexersCreate
Fields
- api\-version string - Client Api Version.
azure.ai.search: IndexersDeleteHeaders
Represents the Headers record for the operation: indexersDelete
Fields
- If\-None\-Match? string - Defines the If-None-Match condition. The operation will be performed only if the ETag on the server does not match this value.
- If\-Match? string - Defines the If-Match condition. The operation will be performed only if the ETag on the server matches this value.
- x\-ms\-client\-request\-id? string - The tracking ID sent with the request to help with debugging.
azure.ai.search: IndexersDeleteQueries
Represents the Queries record for the operation: indexersDelete
Fields
- api\-version string - Client Api Version.
azure.ai.search: IndexersGetHeaders
Represents the Headers record for the operation: indexersGet
Fields
- x\-ms\-client\-request\-id? string - The tracking ID sent with the request to help with debugging.
azure.ai.search: IndexersGetQueries
Represents the Queries record for the operation: indexersGet
Fields
- api\-version string - Client Api Version.
azure.ai.search: IndexersGetStatusHeaders
Represents the Headers record for the operation: indexersGetStatus
Fields
- x\-ms\-client\-request\-id? string - The tracking ID sent with the request to help with debugging.
azure.ai.search: IndexersGetStatusQueries
Represents the Queries record for the operation: indexersGetStatus
Fields
- api\-version string - Client Api Version.
azure.ai.search: IndexersListHeaders
Represents the Headers record for the operation: indexersList
Fields
- x\-ms\-client\-request\-id? string - The tracking ID sent with the request to help with debugging.
azure.ai.search: IndexersListQueries
Represents the Queries record for the operation: indexersList
Fields
- api\-version string - Client Api Version.
- \$select? string - Selects which top-level properties of the indexers to retrieve. Specified as a comma-separated list of JSON property names, or '*' for all properties. The default is all properties.
azure.ai.search: IndexersResetHeaders
Represents the Headers record for the operation: indexersReset
Fields
- x\-ms\-client\-request\-id? string - The tracking ID sent with the request to help with debugging.
azure.ai.search: IndexersResetQueries
Represents the Queries record for the operation: indexersReset
Fields
- api\-version string - Client Api Version.
azure.ai.search: IndexersRunHeaders
Represents the Headers record for the operation: indexersRun
Fields
- x\-ms\-client\-request\-id? string - The tracking ID sent with the request to help with debugging.
azure.ai.search: IndexersRunQueries
Represents the Queries record for the operation: indexersRun
Fields
- api\-version string - Client Api Version.
azure.ai.search: IndexesAnalyzeHeaders
Represents the Headers record for the operation: indexesAnalyze
Fields
- x\-ms\-client\-request\-id? string - The tracking ID sent with the request to help with debugging.
azure.ai.search: IndexesAnalyzeQueries
Represents the Queries record for the operation: indexesAnalyze
Fields
- api\-version string - Client Api Version.
azure.ai.search: IndexesCreateHeaders
Represents the Headers record for the operation: indexesCreate
Fields
- x\-ms\-client\-request\-id? string - The tracking ID sent with the request to help with debugging.
azure.ai.search: IndexesCreateOrUpdateHeaders
Represents the Headers record for the operation: indexesCreateOrUpdate
Fields
- If\-None\-Match? string - Defines the If-None-Match condition. The operation will be performed only if the ETag on the server does not match this value.
- If\-Match? string - Defines the If-Match condition. The operation will be performed only if the ETag on the server matches this value.
- Prefer "return=representation" - For HTTP PUT requests, instructs the service to return the created/updated resource on success.
- x\-ms\-client\-request\-id? string - The tracking ID sent with the request to help with debugging.
azure.ai.search: IndexesCreateOrUpdateQueries
Represents the Queries record for the operation: indexesCreateOrUpdate
Fields
- api\-version string - Client Api Version.
- allowIndexDowntime? boolean - 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.
azure.ai.search: IndexesCreateQueries
Represents the Queries record for the operation: indexesCreate
Fields
- api\-version string - Client Api Version.
azure.ai.search: IndexesDeleteHeaders
Represents the Headers record for the operation: indexesDelete
Fields
- If\-None\-Match? string - Defines the If-None-Match condition. The operation will be performed only if the ETag on the server does not match this value.
- If\-Match? string - Defines the If-Match condition. The operation will be performed only if the ETag on the server matches this value.
- x\-ms\-client\-request\-id? string - The tracking ID sent with the request to help with debugging.
azure.ai.search: IndexesDeleteQueries
Represents the Queries record for the operation: indexesDelete
Fields
- api\-version string - Client Api Version.
azure.ai.search: IndexesGetHeaders
Represents the Headers record for the operation: indexesGet
Fields
- x\-ms\-client\-request\-id? string - The tracking ID sent with the request to help with debugging.
azure.ai.search: IndexesGetQueries
Represents the Queries record for the operation: indexesGet
Fields
- api\-version string - Client Api Version.
azure.ai.search: IndexesGetStatisticsHeaders
Represents the Headers record for the operation: indexesGetStatistics
Fields
- x\-ms\-client\-request\-id? string - The tracking ID sent with the request to help with debugging.
azure.ai.search: IndexesGetStatisticsQueries
Represents the Queries record for the operation: indexesGetStatistics
Fields
- api\-version string - Client Api Version.
azure.ai.search: IndexesListHeaders
Represents the Headers record for the operation: indexesList
Fields
- x\-ms\-client\-request\-id? string - The tracking ID sent with the request to help with debugging.
azure.ai.search: IndexesListQueries
Represents the Queries record for the operation: indexesList
Fields
- api\-version string - Client Api Version.
- \$select? string - Selects which top-level 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.
azure.ai.search: IndexingParameters
Represents parameters for indexer execution.
Fields
- batchSize? Signed32? - 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.
- maxFailedItems Signed32?(default 0) - The maximum number of items that can fail indexing for indexer execution to still be considered successful. -1 means no limit. Default is 0.
- maxFailedItemsPerBatch Signed32?(default 0) - 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.
- configuration? IndexingParametersConfiguration - A dictionary of indexer-specific configuration properties. Each name is the name of a specific property. Each value must be of a primitive type.
azure.ai.search: IndexingParametersConfiguration
A dictionary of indexer-specific configuration properties. Each name is the name of a specific property. Each value must be of a primitive type.
Fields
- parsingMode? ParsingMode - Represents the parsing mode for indexing from an Azure blob data source.
- excludedFileNameExtensions string(default "") - Comma-delimited list of filename extensions to ignore when processing from Azure blob storage. For example, you could exclude ".png, .mp4" to skip over those files during indexing.
- indexedFileNameExtensions string(default "") - Comma-delimited list of filename extensions to select when processing from Azure blob storage. For example, you could focus indexing on specific application files ".docx, .pptx, .msg" to specifically include those file types.
- failOnUnsupportedContentType boolean(default false) - For Azure blobs, set to false if you want to continue indexing when an unsupported content type is encountered, and you don't know all the content types (file extensions) in advance.
- failOnUnprocessableDocument boolean(default false) - For Azure blobs, set to false if you want to continue indexing if a document fails indexing.
- indexStorageMetadataOnlyForOversizedDocuments boolean(default false) - For Azure blobs, set this property to true to still index storage metadata for blob content that is too large to process. Oversized blobs are treated as errors by default. For limits on blob size, see https://learn.microsoft.com/azure/search/search-limits-quotas-capacity.
- delimitedTextHeaders? string - For CSV blobs, specifies a comma-delimited list of column headers, useful for mapping source fields to destination fields in an index.
- delimitedTextDelimiter? string - For CSV blobs, specifies the end-of-line single-character delimiter for CSV files where each line starts a new document (for example, "|").
- firstLineContainsHeaders boolean(default true) - For CSV blobs, indicates that the first (non-blank) line of each blob contains headers.
- documentRoot? string - For JSON arrays, given a structured or semi-structured document, you can specify a path to the array using this property.
- dataToExtract? DataToExtract - Specifies the data to extract from Azure blob storage and tells the indexer which data to extract from image content when "imageAction" is set to a value other than "none". This applies to embedded image content in a .PDF or other application, or image files such as .jpg and .png, in Azure blobs.
- imageAction? ImageAction - Determines how to process embedded images and image files in Azure blob storage. Setting the "imageAction" configuration to any value other than "none" requires that a skillset also be attached to that indexer.
- allowSkillsetToReadFileData boolean(default false) - If true, will create a path //document//file_data that is an object representing the original file data downloaded from your blob data source. This allows you to pass the original file data to a custom skill for processing within the enrichment pipeline, or to the Document Extraction skill.
- pdfTextRotationAlgorithm? PdfTextRotationAlgorithm - Determines algorithm for text extraction from PDF files in Azure blob storage.
- executionEnvironment? ExecutionEnvironment - Specifies the environment in which the indexer should execute.
- queryTimeout? string - Increases the timeout beyond the 5-minute default for Azure SQL database data sources, specified in the format "hh:mm:ss".
azure.ai.search: IndexingSchedule
Represents a schedule for indexer execution.
Fields
- interval string - The interval of time between indexer executions.
- startTime? string - The time when an indexer should start running.
azure.ai.search: InputFieldMappingEntry
Input field mapping for a skill.
Fields
- name string - The name of the input.
- 'source? string - The source of the input.
- sourceContext? string - The source context used for selecting recursive inputs.
- inputs? InputFieldMappingEntry[] - The recursive inputs used when creating a complex type.
azure.ai.search: LexicalAnalyzer
Base type for analyzers.
Fields
- \@odata\.type string - A URI fragment specifying the type of analyzer.
- name string - 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.
azure.ai.search: LexicalNormalizer
Base type for normalizers.
Fields
- \@odata\.type string - A URI fragment specifying the type of normalizer.
- name string - The name of the normalizer. It must only contain letters, digits, spaces, dashes or underscores, can only start and end with alphanumeric characters, and is limited to 128 characters. It cannot end in '.microsoft' nor '.lucene', nor be named 'asciifolding', 'standard', 'lowercase', 'uppercase', or 'elision'.
azure.ai.search: LexicalTokenizer
Base type for tokenizers.
Fields
- \@odata\.type string - A URI fragment specifying the type of tokenizer.
- name string - 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.
azure.ai.search: ListDataSourcesResult
Response from a List Datasources request. If successful, it includes the full definitions of all datasources.
Fields
- value SearchIndexerDataSource[] - The datasources in the Search service.
azure.ai.search: ListIndexersResult
Response from a List Indexers request. If successful, it includes the full definitions of all indexers.
Fields
- value SearchIndexer[] - The indexers in the Search service.
azure.ai.search: ListIndexesResult
Response from a List Indexes request. If successful, it includes the full definitions of all indexes.
Fields
- value SearchIndex[] - The indexes in the Search service.
azure.ai.search: ListSkillsetsResult
Response from a list skillset request. If successful, it includes the full definitions of all skillsets.
Fields
- value SearchIndexerSkillset[] - The skillsets defined in the Search service.
azure.ai.search: ListSynonymMapsResult
Response from a List SynonymMaps request. If successful, it includes the full definitions of all synonym maps.
Fields
- value SynonymMap[] - The synonym maps in the Search service.
azure.ai.search: OutputFieldMappingEntry
Output field mapping for a skill.
Fields
- name string - The name of the output defined by the skill.
- targetName? string - The target name of the output. It is optional and default to name.
azure.ai.search: PrioritizedFields
Describes the title, content, and keywords fields to be used for semantic ranking, captions, highlights, and answers.
Fields
- titleField? SemanticField - A field that is used as part of the semantic configuration.
- prioritizedContentFields? SemanticField[] - Defines the content fields to be used for semantic ranking, captions, highlights, and answers. For the best result, the selected fields should contain text in natural language form. The order of the fields in the array represents their priority. Fields with lower priority may get truncated if the content is long.
- prioritizedKeywordsFields? SemanticField[] - Defines the keyword fields to be used for semantic ranking, captions, highlights, and answers. For the best result, the selected fields should contain a list of keywords. The order of the fields in the array represents their priority. Fields with lower priority may get truncated if the content is long.
azure.ai.search: RescoringOptions
Contains the options for rescoring.
Fields
- enableRescoring boolean?(default true) - If set to true, after the initial search on the compressed vectors, the similarity scores are recalculated using the full-precision vectors. This will improve recall at the expense of latency.
- defaultOversampling? decimal? - Default oversampling factor. Oversampling retrieves a greater set of potential documents to offset the resolution loss due to quantization. This increases the set of results that will be rescored on full-precision vectors. Minimum value is 1, meaning no oversampling (1x). This parameter can only be set when 'enableRescoring' is true. Higher values improve recall at the expense of latency.
- rescoreStorageMethod? VectorSearchCompressionRescoreStorageMethod - The storage method for the original full-precision vectors used for rescoring and internal index operations.
azure.ai.search: ResourceCounter
Represents a resource's usage and quota.
Fields
- usage int - The resource usage amount.
- quota? int? - The resource amount quota.
azure.ai.search: ScoringFunction
Base type for functions that can modify document scores during ranking.
Fields
- 'type string - Indicates the type of function to use. Valid values include magnitude, freshness, distance, and tag. The function type must be lower case.
- fieldName string - The name of the field used as input to the scoring function.
- boost decimal - A multiplier for the raw score. Must be a positive number not equal to 1.0.
- interpolation? ScoringFunctionInterpolation - Defines the function used to interpolate score boosting across a range of documents.
azure.ai.search: ScoringProfile
Defines parameters for a search index that influence scoring in search queries.
Fields
- name string - The name of the scoring profile.
- text? TextWeights - Defines weights on index fields for which matches should boost scoring in search queries.
- functions? ScoringFunction[] - The collection of functions that influence the scoring of documents.
- functionAggregation? ScoringFunctionAggregation - Defines the aggregation function used to combine the results of all the scoring functions in a scoring profile.
azure.ai.search: SearchField
Represents a field in an index definition, which describes the name, data type, and search behavior of a field.
Fields
- name string - The name of the field, which must be unique within the fields collection of the index or parent field.
- 'type SearchFieldDataType - Defines the data type of a field in a search index.
- 'key? boolean - 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.
- retrievable? boolean - 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, false for vector fields, and null for complex fields.
- stored? boolean - An immutable value indicating whether the field will be persisted separately on disk to be returned in a search result. You can disable this option if you don't plan to return the field contents in a search response to save on storage overhead. This can only be set during index creation and only for vector fields. This property cannot be changed for existing fields or set as false for new fields. If this property is set as false, the property 'retrievable' must also be set to false. This property must be true or unset for key fields, for new fields, and for non-vector fields, and it must be null for complex fields. Disabling this property will reduce index storage requirements. The default is true for vector fields.
- searchable? boolean - 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 to accommodate additional tokenized versions 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.
- filterable? boolean - 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.
- sortable? boolean - A value indicating whether to enable the field to be referenced in $orderby expressions. By default, the search engine 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.
- facetable? boolean - 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.
- analyzer? LexicalAnalyzerName - Defines the names of all text analyzers supported by the search engine.
- searchAnalyzer? LexicalAnalyzerName - Defines the names of all text analyzers supported by the search engine.
- indexAnalyzer? LexicalAnalyzerName - Defines the names of all text analyzers supported by the search engine.
- normalizer? LexicalNormalizerName - Defines the names of all text normalizers supported by the search engine.
- dimensions? Signed32? - The dimensionality of the vector field.
- vectorSearchProfile? string? - The name of the vector search profile that specifies the algorithm and vectorizer to use when searching the vector field.
- vectorEncoding? VectorEncodingFormat - The encoding format for interpreting vector field contents.
- synonymMaps? string[] - 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.
- fields? SearchField[] - 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.
azure.ai.search: SearchIndex
Represents a search index definition, which describes the fields and search behavior of an index.
Fields
- name string - The name of the index.
- description? string - The description of the index.
- fields SearchField[] - The fields of the index.
- scoringProfiles? ScoringProfile[] - The scoring profiles for the index.
- defaultScoringProfile? string - 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.
- corsOptions? CorsOptions - Defines options to control Cross-Origin Resource Sharing (CORS) for an index.
- suggesters? Suggester[] - The suggesters for the index.
- analyzers? LexicalAnalyzer[] - The analyzers for the index.
- tokenizers? LexicalTokenizer[] - The tokenizers for the index.
- tokenFilters? TokenFilter[] - The token filters for the index.
- charFilters? CharFilter[] - The character filters for the index.
- normalizers? LexicalNormalizer[] - The normalizers for the index.
- encryptionKey? SearchResourceEncryptionKey - A customer-managed encryption key in Azure Key Vault. Keys that you create and manage can be used to encrypt or decrypt data-at-rest, such as indexes and synonym maps.
- similarity? Similarity - Base type for similarity algorithms. Similarity algorithms are used to calculate scores that tie queries to documents. The higher the score, the more relevant the document is to that specific query. Those scores are used to rank the search results.
- semantic? SemanticSettings - Defines parameters for a search index that influence semantic capabilities.
- vectorSearch? VectorSearch - Contains configuration options related to vector search.
- \@odata\.etag? string - The ETag of the index.
azure.ai.search: SearchIndexer
Represents an indexer.
Fields
- name string - The name of the indexer.
- description? string - The description of the indexer.
- dataSourceName string - The name of the datasource from which this indexer reads data.
- skillsetName? string - The name of the skillset executing with this indexer.
- targetIndexName string - The name of the index to which this indexer writes data.
- schedule? IndexingSchedule - Represents a schedule for indexer execution.
- parameters? IndexingParameters - Represents parameters for indexer execution.
- fieldMappings? FieldMapping[] - Defines mappings between fields in the data source and corresponding target fields in the index.
- outputFieldMappings? FieldMapping[] - Output field mappings are applied after enrichment and immediately before indexing.
- disabled boolean?(default false) - A value indicating whether the indexer is disabled. Default is false.
- \@odata\.etag? string - The ETag of the indexer.
- encryptionKey? SearchResourceEncryptionKey - A customer-managed encryption key in Azure Key Vault. Keys that you create and manage can be used to encrypt or decrypt data-at-rest, such as indexes and synonym maps.
azure.ai.search: SearchIndexerDataContainer
Represents information about the entity (such as Azure SQL table or CosmosDB collection) that will be indexed.
Fields
- name string - The name of the table or view (for Azure SQL datasource), collection (for CosmosDB datasource), container (for Azure Blob and ADLS Gen 2 datasources), Azure Table (for Azure Table datasource), or lakehouse (for Onelake datasource) that will be indexed.
- query? string - A query that is applied to this data container. For CosmosDB datasource query can flatten and filter data. For Azure Blob and ADLS Gen 2 query can filter by folders. For Azure Table query can filter by row data. For Onelake query can filter by folder or shortcut. Not supported by Azure SQL datasources.
azure.ai.search: SearchIndexerDataSource
Represents a datasource definition, which can be used to configure an indexer.
Fields
- name string - The name of the datasource.
- description? string - The description of the datasource.
- 'type SearchIndexerDataSourceType - Defines the type of a datasource.
- credentials DataSourceCredentials - Represents credentials that can be used to connect to a datasource.
- container SearchIndexerDataContainer - Represents information about the entity (such as Azure SQL table or CosmosDB collection) that will be indexed.
- dataChangeDetectionPolicy? DataChangeDetectionPolicy - Base type for data change detection policies.
- dataDeletionDetectionPolicy? DataDeletionDetectionPolicy - Base type for data deletion detection policies.
- \@odata\.etag? string - The ETag of the data source.
- encryptionKey? SearchResourceEncryptionKey - A customer-managed encryption key in Azure Key Vault. Keys that you create and manage can be used to encrypt or decrypt data-at-rest, such as indexes and synonym maps.
azure.ai.search: SearchIndexerError
Represents an item- or document-level indexing error.
Fields
- 'key? string - The key of the item for which indexing failed.
- errorMessage string - The message describing the error that occurred while processing the item.
- statusCode Signed32 - 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.
- name? string - 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.
- details? string - Additional, verbose details about the error to assist in debugging the indexer. This may not be always available.
- documentationLink? string - A link to a troubleshooting guide for these classes of errors. This may not be always available.
azure.ai.search: SearchIndexerIndexProjections
Definition of additional projections to secondary search indexes.
Fields
- selectors SearchIndexerIndexProjectionSelector[] - A list of projections to be performed to secondary search indexes.
- parameters? SearchIndexerIndexProjectionsParameters - A dictionary of index projection-specific configuration properties. Each name is the name of a specific property. Each value must be of a primitive type.
azure.ai.search: SearchIndexerIndexProjectionSelector
Description for what data to store in the designated search index.
Fields
- targetIndexName string - Name of the search index to project to. Must have a key field with the 'keyword' analyzer set.
- parentKeyFieldName string - Name of the field in the search index to map the parent document's key value to. Must be a string field that is filterable and not the key field.
- sourceContext string - Source context for the projections. Represents the cardinality at which the document will be split into multiple sub documents.
- mappings InputFieldMappingEntry[] - Mappings for the projection, or which source should be mapped to which field in the target index.
azure.ai.search: SearchIndexerIndexProjectionsParameters
A dictionary of index projection-specific configuration properties. Each name is the name of a specific property. Each value must be of a primitive type.
Fields
- projectionMode? IndexProjectionMode - Defines behavior of the index projections in relation to the rest of the indexer.
azure.ai.search: SearchIndexerKnowledgeStore
Definition of additional projections to azure blob, table, or files, of enriched data.
Fields
- storageConnectionString string - The connection string to the storage account projections will be stored in.
- projections SearchIndexerKnowledgeStoreProjection[] - A list of additional projections to perform during indexing.
azure.ai.search: SearchIndexerKnowledgeStoreProjection
Container object for various projection selectors.
Fields
- tables? SearchIndexerKnowledgeStoreTableProjectionSelector[] - Projections to Azure Table storage.
- objects? SearchIndexerKnowledgeStoreObjectProjectionSelector[] - Projections to Azure Blob storage.
- files? SearchIndexerKnowledgeStoreFileProjectionSelector[] - Projections to Azure File storage.
azure.ai.search: SearchIndexerKnowledgeStoreProjectionSelector
Abstract class to share properties between concrete selectors.
Fields
- referenceKeyName? string - Name of reference key to different projection.
- generatedKeyName? string - Name of generated key to store projection under.
- 'source? string - Source data to project.
- sourceContext? string - Source context for complex projections.
- inputs? InputFieldMappingEntry[] - Nested inputs for complex projections.
azure.ai.search: SearchIndexerLimits
Fields
- maxRunTime? string - The maximum duration that the indexer is permitted to run for one execution.
- maxDocumentExtractionSize? decimal - The maximum size of a document, in bytes, which will be considered valid for indexing.
- maxDocumentContentCharactersToExtract? decimal - The maximum number of characters that will be extracted from a document picked up for indexing.
azure.ai.search: SearchIndexerSkill
Base type for skills.
Fields
- \@odata\.type string - A URI fragment specifying the type of skill.
- name? string - 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 '#'.
- description? string - The description of the skill which describes the inputs, outputs, and usage of the skill.
- context? string - 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.
- inputs InputFieldMappingEntry[] - Inputs of the skills could be a column in the source data set, or the output of an upstream skill.
- outputs OutputFieldMappingEntry[] - 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.
azure.ai.search: SearchIndexerSkillset
A list of skills.
Fields
- name string - The name of the skillset.
- description? string - The description of the skillset.
- skills SearchIndexerSkill[] - A list of skills in the skillset.
- cognitiveServices? CognitiveServicesAccount - Base type for describing any Azure AI service resource attached to a skillset.
- knowledgeStore? SearchIndexerKnowledgeStore - Definition of additional projections to azure blob, table, or files, of enriched data.
- indexProjections? SearchIndexerIndexProjections - Definition of additional projections to secondary search indexes.
- \@odata\.etag? string - The ETag of the skillset.
- encryptionKey? SearchResourceEncryptionKey - A customer-managed encryption key in Azure Key Vault. Keys that you create and manage can be used to encrypt or decrypt data-at-rest, such as indexes and synonym maps.
azure.ai.search: SearchIndexerStatus
Represents the current status and execution history of an indexer.
Fields
- name string - The name of the indexer.
- status IndexerStatus - Represents the overall indexer status.
- lastResult? IndexerExecutionResult - Represents the result of an individual indexer execution.
- executionHistory IndexerExecutionResult[] - History of the recent indexer executions, sorted in reverse chronological order.
- limits SearchIndexerLimits -
azure.ai.search: SearchIndexerWarning
Represents an item-level warning.
Fields
- 'key? string - The key of the item which generated a warning.
- message string - The message describing the warning that occurred while processing the item.
- name? string - 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.
- details? string - Additional, verbose details about the warning to assist in debugging the indexer. This may not be always available.
- documentationLink? string - A link to a troubleshooting guide for these classes of warnings. This may not be always available.
azure.ai.search: SearchResourceEncryptionKey
A customer-managed encryption key in Azure Key Vault. Keys that you create and manage can be used to encrypt or decrypt data-at-rest, such as indexes and synonym maps.
Fields
- keyVaultKeyName string - The name of your Azure Key Vault key to be used to encrypt your data at rest.
- keyVaultKeyVersion string - The version of your Azure Key Vault key to be used to encrypt your data at rest.
- keyVaultUri string - The URI of your Azure Key Vault, also referred to as DNS name, that contains the key to be used to encrypt your data at rest. An example URI might be
https://my-keyvault-name.vault.azure.net.
- accessCredentials? AzureActiveDirectoryApplicationCredentials - Credentials of a registered application created for your search service, used for authenticated access to the encryption keys stored in Azure Key Vault.
azure.ai.search: SemanticConfiguration
Defines a specific configuration to be used in the context of semantic capabilities.
Fields
- name string - The name of the semantic configuration.
- prioritizedFields PrioritizedFields - Describes the title, content, and keywords fields to be used for semantic ranking, captions, highlights, and answers.
- rankingOrder? RankingOrder - Represents score to use for sort order of documents.
azure.ai.search: SemanticField
A field that is used as part of the semantic configuration.
Fields
- fieldName string -
azure.ai.search: SemanticSettings
Defines parameters for a search index that influence semantic capabilities.
Fields
- defaultConfiguration? string - Allows you to set the name of a default semantic configuration in your index, making it optional to pass it on as a query parameter every time.
- configurations? SemanticConfiguration[] - The semantic configurations for the index.
azure.ai.search: ServiceCounters
Represents service-level resource counters and quotas.
Fields
- documentCount ResourceCounter - Represents a resource's usage and quota.
- indexesCount ResourceCounter - Represents a resource's usage and quota.
- indexersCount ResourceCounter - Represents a resource's usage and quota.
- dataSourcesCount ResourceCounter - Represents a resource's usage and quota.
- storageSize ResourceCounter - Represents a resource's usage and quota.
- synonymMaps ResourceCounter - Represents a resource's usage and quota.
- skillsetCount ResourceCounter - Represents a resource's usage and quota.
- vectorIndexSize ResourceCounter - Represents a resource's usage and quota.
azure.ai.search: ServiceLimits
Represents various service level limits.
Fields
- maxFieldsPerIndex? Signed32? - The maximum allowed fields per index.
- maxFieldNestingDepthPerIndex? Signed32? - 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.
- maxComplexCollectionFieldsPerIndex? Signed32? - The maximum number of fields of type Collection(Edm.ComplexType) allowed in an index.
- maxComplexObjectsInCollectionsPerDocument? Signed32? - The maximum number of objects in complex collections allowed per document.
- maxStoragePerIndex? int? - The maximum amount of storage in bytes allowed per index.
azure.ai.search: ServiceStatistics
Response from a get service statistics request. If successful, it includes service level counters and limits.
Fields
- counters ServiceCounters - Represents service-level resource counters and quotas.
- limits ServiceLimits - Represents various service level limits.
azure.ai.search: Similarity
Base type for similarity algorithms. Similarity algorithms are used to calculate scores that tie queries to documents. The higher the score, the more relevant the document is to that specific query. Those scores are used to rank the search results.
Fields
- \@odata\.type string -
azure.ai.search: SkillsetsCreateHeaders
Represents the Headers record for the operation: skillsetsCreate
Fields
- x\-ms\-client\-request\-id? string - The tracking ID sent with the request to help with debugging.
azure.ai.search: SkillsetsCreateOrUpdateHeaders
Represents the Headers record for the operation: skillsetsCreateOrUpdate
Fields
- If\-None\-Match? string - Defines the If-None-Match condition. The operation will be performed only if the ETag on the server does not match this value.
- If\-Match? string - Defines the If-Match condition. The operation will be performed only if the ETag on the server matches this value.
- Prefer "return=representation" - For HTTP PUT requests, instructs the service to return the created/updated resource on success.
- x\-ms\-client\-request\-id? string - The tracking ID sent with the request to help with debugging.
azure.ai.search: SkillsetsCreateOrUpdateQueries
Represents the Queries record for the operation: skillsetsCreateOrUpdate
Fields
- api\-version string - Client Api Version.
azure.ai.search: SkillsetsCreateQueries
Represents the Queries record for the operation: skillsetsCreate
Fields
- api\-version string - Client Api Version.
azure.ai.search: SkillsetsDeleteHeaders
Represents the Headers record for the operation: skillsetsDelete
Fields
- If\-None\-Match? string - Defines the If-None-Match condition. The operation will be performed only if the ETag on the server does not match this value.
- If\-Match? string - Defines the If-Match condition. The operation will be performed only if the ETag on the server matches this value.
- x\-ms\-client\-request\-id? string - The tracking ID sent with the request to help with debugging.
azure.ai.search: SkillsetsDeleteQueries
Represents the Queries record for the operation: skillsetsDelete
Fields
- api\-version string - Client Api Version.
azure.ai.search: SkillsetsGetHeaders
Represents the Headers record for the operation: skillsetsGet
Fields
- x\-ms\-client\-request\-id? string - The tracking ID sent with the request to help with debugging.
azure.ai.search: SkillsetsGetQueries
Represents the Queries record for the operation: skillsetsGet
Fields
- api\-version string - Client Api Version.
azure.ai.search: SkillsetsListHeaders
Represents the Headers record for the operation: skillsetsList
Fields
- x\-ms\-client\-request\-id? string - The tracking ID sent with the request to help with debugging.
azure.ai.search: SkillsetsListQueries
Represents the Queries record for the operation: skillsetsList
Fields
- api\-version string - Client Api Version.
- \$select? string - Selects which top-level properties of the skillsets to retrieve. Specified as a comma-separated list of JSON property names, or '*' for all properties. The default is all properties.
azure.ai.search: Suggester
Defines how the Suggest API should apply to a group of fields in the index.
Fields
- name string - The name of the suggester.
- searchMode "analyzingInfixMatching" - A value indicating the capabilities of the suggester.
- sourceFields string[] - The list of field names to which the suggester applies. Each field must be searchable.
azure.ai.search: SynonymMap
Represents a synonym map definition.
Fields
- name string - The name of the synonym map.
- format "solr" - The format of the synonym map. Only the 'solr' format is currently supported.
- synonyms string - A series of synonym rules in the specified synonym map format. The rules must be separated by newlines.
- encryptionKey? SearchResourceEncryptionKey - A customer-managed encryption key in Azure Key Vault. Keys that you create and manage can be used to encrypt or decrypt data-at-rest, such as indexes and synonym maps.
- \@odata\.etag? string - The ETag of the synonym map.
azure.ai.search: SynonymMapsCreateHeaders
Represents the Headers record for the operation: synonymMapsCreate
Fields
- x\-ms\-client\-request\-id? string - The tracking ID sent with the request to help with debugging.
azure.ai.search: SynonymMapsCreateOrUpdateHeaders
Represents the Headers record for the operation: synonymMapsCreateOrUpdate
Fields
- If\-None\-Match? string - Defines the If-None-Match condition. The operation will be performed only if the ETag on the server does not match this value.
- If\-Match? string - Defines the If-Match condition. The operation will be performed only if the ETag on the server matches this value.
- Prefer "return=representation" - For HTTP PUT requests, instructs the service to return the created/updated resource on success.
- x\-ms\-client\-request\-id? string - The tracking ID sent with the request to help with debugging.
azure.ai.search: SynonymMapsCreateOrUpdateQueries
Represents the Queries record for the operation: synonymMapsCreateOrUpdate
Fields
- api\-version string - Client Api Version.
azure.ai.search: SynonymMapsCreateQueries
Represents the Queries record for the operation: synonymMapsCreate
Fields
- api\-version string - Client Api Version.
azure.ai.search: SynonymMapsDeleteHeaders
Represents the Headers record for the operation: synonymMapsDelete
Fields
- If\-None\-Match? string - Defines the If-None-Match condition. The operation will be performed only if the ETag on the server does not match this value.
- If\-Match? string - Defines the If-Match condition. The operation will be performed only if the ETag on the server matches this value.
- x\-ms\-client\-request\-id? string - The tracking ID sent with the request to help with debugging.
azure.ai.search: SynonymMapsDeleteQueries
Represents the Queries record for the operation: synonymMapsDelete
Fields
- api\-version string - Client Api Version.
azure.ai.search: SynonymMapsGetHeaders
Represents the Headers record for the operation: synonymMapsGet
Fields
- x\-ms\-client\-request\-id? string - The tracking ID sent with the request to help with debugging.
azure.ai.search: SynonymMapsGetQueries
Represents the Queries record for the operation: synonymMapsGet
Fields
- api\-version string - Client Api Version.
azure.ai.search: SynonymMapsListHeaders
Represents the Headers record for the operation: synonymMapsList
Fields
- x\-ms\-client\-request\-id? string - The tracking ID sent with the request to help with debugging.
azure.ai.search: SynonymMapsListQueries
Represents the Queries record for the operation: synonymMapsList
Fields
- api\-version string - Client Api Version.
- \$select? string - Selects which top-level properties of the synonym maps to retrieve. Specified as a comma-separated list of JSON property names, or '*' for all properties. The default is all properties.
azure.ai.search: TextWeights
Defines weights on index fields for which matches should boost scoring in search queries.
Fields
- weights record { decimal... } - The dictionary of per-field weights to boost document scoring. The keys are field names and the values are the weights for each field.
azure.ai.search: TokenFilter
Base type for token filters.
Fields
- \@odata\.type string - A URI fragment specifying the type of token filter.
- name string - 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.
azure.ai.search: VectorSearch
Contains configuration options related to vector search.
Fields
- profiles? VectorSearchProfile[] - Defines combinations of configurations to use with vector search.
- algorithms? VectorSearchAlgorithmConfiguration[] - Contains configuration options specific to the algorithm used during indexing or querying.
- vectorizers? VectorSearchVectorizer[] - Contains configuration options on how to vectorize text vector queries.
- compressions? VectorSearchCompressionConfiguration[] - Contains configuration options specific to the compression method used during indexing or querying.
azure.ai.search: VectorSearchAlgorithmConfiguration
Contains configuration options specific to the algorithm used during indexing or querying.
Fields
- name string - The name to associate with this particular configuration.
- kind VectorSearchAlgorithmKind - The algorithm used for indexing and querying.
azure.ai.search: VectorSearchCompressionConfiguration
Contains configuration options specific to the compression method used during indexing or querying.
Fields
- name string - The name to associate with this particular configuration.
- kind VectorSearchCompressionKind - The compression method used for indexing and querying.
- rescoringOptions? RescoringOptions - Contains the options for rescoring.
- truncationDimension? Signed32? - The number of dimensions to truncate the vectors to. Truncating the vectors reduces the size of the vectors and the amount of data that needs to be transferred during search. This can save storage cost and improve search performance at the expense of recall. It should be only used for embeddings trained with Matryoshka Representation Learning (MRL) such as OpenAI text-embedding-3-large (small). The default value is null, which means no truncation.
azure.ai.search: VectorSearchProfile
Defines a combination of configurations to use with vector search.
Fields
- name string - The name to associate with this particular vector search profile.
- algorithm string - The name of the vector search algorithm configuration that specifies the algorithm and optional parameters.
- vectorizer? string - The name of the vectorization being configured for use with vector search.
- compression? string - The name of the compression method configuration that specifies the compression method and optional parameters.
azure.ai.search: VectorSearchVectorizer
Specifies the vectorization method to be used during query time.
Fields
- name string - The name to associate with this particular vectorization method.
- kind VectorSearchVectorizerKind - The vectorization method to be used during query time.
Union types
azure.ai.search: SearchFieldDataType
SearchFieldDataType
Defines the data type of a field in a search index.
azure.ai.search: ScoringFunctionInterpolation
ScoringFunctionInterpolation
Defines the function used to interpolate score boosting across a range of documents.
azure.ai.search: LexicalAnalyzerName
LexicalAnalyzerName
Defines the names of all text analyzers supported by the search engine.
azure.ai.search: IndexProjectionMode
IndexProjectionMode
Defines behavior of the index projections in relation to the rest of the indexer.
azure.ai.search: IndexerStatus
IndexerStatus
Represents the overall indexer status.
azure.ai.search: LexicalTokenizerName
LexicalTokenizerName
Defines the names of all tokenizers supported by the search engine.
azure.ai.search: PdfTextRotationAlgorithm
PdfTextRotationAlgorithm
Determines algorithm for text extraction from PDF files in Azure blob storage.
azure.ai.search: ImageAction
ImageAction
Determines how to process embedded images and image files in Azure blob storage. Setting the "imageAction" configuration to any value other than "none" requires that a skillset also be attached to that indexer.
azure.ai.search: TokenFilterName
TokenFilterName
Defines the names of all token filters supported by the search engine.
azure.ai.search: LexicalNormalizerName
LexicalNormalizerName
Defines the names of all text normalizers supported by the search engine.
azure.ai.search: VectorSearchVectorizerKind
VectorSearchVectorizerKind
The vectorization method to be used during query time.
azure.ai.search: VectorSearchCompressionKind
VectorSearchCompressionKind
The compression method used for indexing and querying.
azure.ai.search: RankingOrder
RankingOrder
Represents score to use for sort order of documents.
azure.ai.search: ParsingMode
ParsingMode
Represents the parsing mode for indexing from an Azure blob data source.
azure.ai.search: IndexerExecutionStatus
IndexerExecutionStatus
Represents the status of an individual indexer execution.
azure.ai.search: VectorSearchAlgorithmKind
VectorSearchAlgorithmKind
The algorithm used for indexing and querying.
azure.ai.search: VectorSearchCompressionRescoreStorageMethod
VectorSearchCompressionRescoreStorageMethod
The storage method for the original full-precision vectors used for rescoring and internal index operations.
azure.ai.search: ExecutionEnvironment
ExecutionEnvironment
Specifies the environment in which the indexer should execute.
azure.ai.search: SearchIndexerDataSourceType
SearchIndexerDataSourceType
Defines the type of a datasource.
azure.ai.search: DataToExtract
DataToExtract
Specifies the data to extract from Azure blob storage and tells the indexer which data to extract from image content when "imageAction" is set to a value other than "none". This applies to embedded image content in a .PDF or other application, or image files such as .jpg and .png, in Azure blobs.
azure.ai.search: ScoringFunctionAggregation
ScoringFunctionAggregation
Defines the aggregation function used to combine the results of all the scoring functions in a scoring profile.
Simple name reference types
azure.ai.search: SearchIndexerKnowledgeStoreTableProjectionSelector
SearchIndexerKnowledgeStoreTableProjectionSelector
Description for what data to store in Azure Tables.
azure.ai.search: SearchIndexerKnowledgeStoreObjectProjectionSelector
SearchIndexerKnowledgeStoreObjectProjectionSelector
Projection definition for what data to store in Azure Blob.
azure.ai.search: SearchIndexerKnowledgeStoreBlobProjectionSelector
SearchIndexerKnowledgeStoreBlobProjectionSelector
Abstract class to share properties between concrete selectors.
azure.ai.search: SearchIndexerKnowledgeStoreFileProjectionSelector
SearchIndexerKnowledgeStoreFileProjectionSelector
Projection definition for what data to store in Azure Files.
Import
import ballerinax/azure.ai.search;Other versions
1.0.0
Metadata
Released date: 7 days ago
Version: 1.0.0
License: Apache-2.0
Compatibility
Platform: any
Ballerina version: 2201.12.0
GraalVM compatible: Yes
Pull count
Total: 33
Current verison: 35
Weekly downloads
Keywords
AI/Search
Azure
Cognitive Search
Azure AI Search
Contributors
Dependents