Azure AI search for Markdown document
To setup Azure AI Search for markdown or other document type, we need to be setting up the following resources:-
- Index
- Data source
- Indexer
Then we are going to bring it together :-
Creating our index
This is what our index json setup looks like :-
{
"@odata.etag": "\"0x8DF054C596E2837\"",
"name": "markdown-index",
"purviewEnabled": false,
"fields": [
{
"name": "id",
"type": "Edm.String",
"searchable": true,
"filterable": true,
"retrievable": true,
"stored": true,
"sortable": true,
"facetable": true,
"key": true,
"synonymMaps": []
},
{
"name": "content",
"type": "Edm.String",
"searchable": true,
"filterable": true,
"retrievable": true,
"stored": true,
"sortable": true,
"facetable": true,
"key": false,
"analyzer": "standard.lucene",
"synonymMaps": []
},
{
"name": "title",
"type": "Edm.String",
"searchable": true,
"filterable": true,
"retrievable": false,
"stored": true,
"sortable": true,
"facetable": true,
"key": false,
"analyzer": "standard.lucene",
"synonymMaps": []
},
{
"name": "h2_subheader",
"type": "Edm.String",
"searchable": true,
"filterable": true,
"retrievable": false,
"stored": true,
"sortable": true,
"facetable": true,
"key": false,
"analyzer": "standard.lucene",
"synonymMaps": []
},
{
"name": "h3_subheader",
"type": "Edm.String",
"searchable": true,
"filterable": true,
"retrievable": false,
"stored": true,
"sortable": true,
"facetable": true,
"key": false,
"analyzer": "standard.lucene",
"synonymMaps": []
},
{
"name": "ordinal_position",
"type": "Edm.String",
"searchable": true,
"filterable": true,
"retrievable": false,
"stored": true,
"sortable": true,
"facetable": true,
"key": false,
"analyzer": "standard.lucene",
"synonymMaps": []
}
],
"scoringProfiles": [],
"suggesters": [],
"analyzers": [],
"normalizers": [],
"tokenizers": [],
"tokenFilters": [],
"charFilters": [],
"similarity": {
"@odata.type": "#Microsoft.Azure.Search.BM25Similarity"
}
}
Setting up data source.
Our markdown data resides in a storage account data lake and the setup look like this:-
And then we will head over to indexer to complete our setup, which looks like this:-
In json, it is going to look like this :-
{
"@odata.context": "https://mysearchservicedev1.search.windows.net/$metadata#indexers/$entity",
"@odata.etag": "\"0x8DF054CDC200C67\"",
"name": "indexer-for-markdown",
"description": null,
"dataSourceName": "mymarkdown-datasource",
"skillsetName": null,
"targetIndexName": "markdown-index",
"disabled": null,
"schedule": null,
"parameters": null,
"fieldMappings": [],
"outputFieldMappings": [],
"cache": null,
"encryptionKey": null
}
Comments