AzureSearchCommitter
Commit documents to Microsoft Azure Search.
Notesβ
Commits crawled documents to a Microsoft Azure Cognitive Search index. Supports field mappings, Base64 document key encoding, Windows authentication, and configurable handling of response and validation errors.
Examplesβ
The following example uses the minimum required settings to configure Microsoft Azure Search Committer.
- YAML
- JSON
- XML
class: AzureSearchCommitter
endpoint: https://example.search.windows.net
apiKey: 1234567890ABCDEF1234567890ABCDEF
indexName: sample-index
{
"class": "AzureSearchCommitter",
"endpoint": "https://example.search.windows.net",
"apiKey": "1234567890ABCDEF1234567890ABCDEF",
"indexName": "sample-index"
}
<committer>
<class>AzureSearchCommitter</class>
<endpoint>https://example.search.windows.net</endpoint>
<apiKey>1234567890ABCDEF1234567890ABCDEF</apiKey>
<indexName>sample-index</indexName>
</committer>
Usageβ
Full configuration skeleton, with every option and its default
- YAML
- JSON
- XML
class: AzureSearchCommitter
apiKey: string
apiVersion: string
arrayFields: string
arrayFieldsRegex: false
disableDocKeyEncoding: false
endpoint: string
fieldMappings: {}
ignoreResponseErrors: false
ignoreValidationErrors: false
indexName: string
proxySettings:
credentials:
password: string
passwordKey: {}
username: string
host:
name: string
port: 0
realm: string
scheme: string
queue:
class: FsQueue
batchSize: 0
commitLeftoversOnInit: false
maxPerFolder: 0
onCommitFailure:
ignoreErrors: false
maxRetries: 0
retryDelay: 0
splitBatch: OFF
restrictions:
- fieldMatcher: {}
valueMatcher: {}
sourceKeyField: string
targetContentField: string
targetKeyField: string
useWindowsAuth: false
{
"class": "AzureSearchCommitter",
"apiKey": "string",
"apiVersion": "string",
"arrayFields": "string",
"arrayFieldsRegex": false,
"disableDocKeyEncoding": false,
"endpoint": "string",
"fieldMappings": {},
"ignoreResponseErrors": false,
"ignoreValidationErrors": false,
"indexName": "string",
"proxySettings": {
"credentials": {
"password": "string",
"passwordKey": {},
"username": "string"
},
"host": {
"name": "string",
"port": 0
},
"realm": "string",
"scheme": "string"
},
"queue": {
"class": "FsQueue",
"batchSize": 0,
"commitLeftoversOnInit": false,
"maxPerFolder": 0,
"onCommitFailure": {
"ignoreErrors": false,
"maxRetries": 0,
"retryDelay": 0,
"splitBatch": "OFF"
}
},
"restrictions": [
{
"fieldMatcher": {},
"valueMatcher": {}
}
],
"sourceKeyField": "string",
"targetContentField": "string",
"targetKeyField": "string",
"useWindowsAuth": false
}
<azureSearchCommitter>
<class>AzureSearchCommitter</class>
<apiKey>string</apiKey>
<apiVersion>string</apiVersion>
<arrayFields>string</arrayFields>
<arrayFieldsRegex>false</arrayFieldsRegex>
<disableDocKeyEncoding>false</disableDocKeyEncoding>
<endpoint>string</endpoint>
<fieldMappings/>
<ignoreResponseErrors>false</ignoreResponseErrors>
<ignoreValidationErrors>false</ignoreValidationErrors>
<indexName>string</indexName>
<proxySettings>
<credentials>
<password>string</password>
<passwordKey/>
<username>string</username>
</credentials>
<host>
<name>string</name>
<port>0</port>
</host>
<realm>string</realm>
<scheme>string</scheme>
</proxySettings>
<queue>
<class>FsQueue</class>
<batchSize>0</batchSize>
<commitLeftoversOnInit>false</commitLeftoversOnInit>
<maxPerFolder>0</maxPerFolder>
<onCommitFailure/>
</queue>
<restrictions>
<restriction>
<fieldMatcher/>
<valueMatcher/>
</restriction>
</restrictions>
<sourceKeyField>string</sourceKeyField>
<targetContentField>string</targetContentField>
<targetKeyField>string</targetKeyField>
<useWindowsAuth>false</useWindowsAuth>
</azureSearchCommitter>
Propertiesβ
| Property | Type | Required | Default |
|---|---|---|---|
apiKey | string | No | - |
apiVersion | string | No | 2020-06-30 |
arrayFields | string | No | - |
arrayFieldsRegex | boolean | No | false |
disableDocKeyEncoding | boolean | No | false |
endpoint | string | No | - |
fieldMappings | Record<string, string> | No | - |
ignoreResponseErrors | boolean | No | false |
ignoreValidationErrors | boolean | No | false |
indexName | string | No | - |
proxySettings | ProxySettings | No | ProxySettings |
queue | CommitterQueue | No | FsQueue |
restrictions | PropertyMatcher[] | No | - |
sourceKeyField | string | No | - |
targetContentField | string | No | content |
targetKeyField | string | No | id |
useWindowsAuth | boolean | No | false |
Property Detailsβ
apiKeyβ
Azure Search API admin key.
apiVersionβ
A specific Azure Search API version to use.
arrayFieldsβ
Field whose values are forcefully sent as array, even if they are single values. Unless "Use Regular Expression for Array Fields" is checked, expects a comma-separated list of field names.
arrayFieldsRegexβ
Use regular expression instead of comma-separated values when defining "Array Fields".
disableDocKeyEncodingβ
Disable Base64 encoding of the document document reference (Azure Search Document Key). Base64 is the preferred approach when your document key can contain special characters.
endpointβ
Azure Search endpoint.
fieldMappingsβ
Mapping of source fields to target ones (Azure Search fields).
ignoreResponseErrorsβ
Log Azure Search response errors instead of throwing an exception.
ignoreValidationErrorsβ
Do not perform validation of field names before sending a batch of documents to Azure Search.
indexNameβ
Name of the target Azure Search index where to send documents.
proxySettingsβ
Configures an optional HTTP proxy for outbound connections. Leave unset to connect directly.
queueβ
Configures the committer queue used to batch documents before sending them to the target system. Adjust queue settings to tune throughput and memory usage.
restrictionsβ
Defines filter conditions that restrict which documents this committer processes. Documents not matching the restrictions are ignored by this committer.
sourceKeyFieldβ
Source document field name containing the value that will be stored in Azure Search target document key field. Default is the document reference.
targetContentFieldβ
Name of Azure Search document field name to store document content. Default is "content".
targetKeyFieldβ
Name of Azure Search document field where to store a document unique key identifier ("Source Key Field"). Default is "id".
useWindowsAuthβ
Use Windows authentication to connect.