Créer un index de recherche SharePoint pour Azure Search
Actuellement la création d’un index de recherche Azure Search pour SharePoint via une interface visuelle n’est pas totalement au point, le plus, simple reste donc d’utiliser un ensemble de requêtes HTTP à l’aide d’un outil du type de Postman pour mettre en œuvre l’index.
Je vais tenter dans les étapes suivantes de vous indiquer la marche à suivre la plus simple possible.
Dans un premier temps, il sera nécessaire de créer soit à partir du portail Azure, soit en utilisant un script de création (dont un exemple est accessible ici : Azure : Scripter la création d’une ressource Azure Search) une ressource Azure Search.
Les étapes de mise en place sont les suivantes :
- Créer une source de données
- Créer l’index de recherche
- Mettre en place l’indexeur de documents
Créer la source de données
La création de la source de données permet comme son nom d’indique de mettre en place une sorte de pont entre votre site SharePoint contenant les données à indexer et votre ressource Azure Search.
Nous allons à partir de Postman, créer une requête HTTP Post vers l’URL suivante :
https://NOM-de-votre-ressource-Azure-Search.search.windows.net/datasources?api-version=2025-08-01-previewN’oubliez pas de personnaliser le nom de votre ressource, dans mon exemple ci-dessous, elle s’appelle : »NOM-de-votre-ressource-Azure-Search ».
Dans le corps de la recherche, nous allons maintenant passer les informations nécessaires à cette liaison :
{
"name": "sharepoint-datasource-spo-syntex",
"type": "sharepoint",
"credentials": {
"connectionString": "SharePointOnlineEndpoint=https://mon-url-site-SP;ApplicationId=APP_ID;TenantId=TenantID;ApplicationSecret=APP_SECRET"
},
"container": {
"name": "useQuery",
"query": "includeLibrariesInSite=https://mon-url-site-SP-bibliotheque;additionalColumns=ColumnsName;excludeLibrairy=https://URL-des-bibliotheques-a-exclure"
}
}N’oubliez pas de personnaliser les champs suivants :
- sharepoint-datasource-spo-syntex : Nom que l’on souhaite données à la nouvelle source de données
- https://sandboxemo.sharepoint.com/sites/SandBoxSyntex : URL du site qui sera la source
- ApplicationId : ID de l’application créée en amont qui sert de point d’autorisation
- TenantId : l’ID du tenant sur lequel la source est hébergée
- ApplicationSecret : qui devra contenir le secret de l’application
- includeLibrariesInSite : mon-url-site-SP-bibliotheque
- additionalColumns : Le nom des colonnes que vous souhaitez intégrer
- excludeLibrairy : l’URL éventuelle d’une librairie à exclure de l’indexation
Création de l’index de recherche
Maintenant que nous avons créé la liaison entre Azure Search et vos données, il est nécessaire de créer l’index de recherche. Pour cela, il est nécessaire d’exécuter la requête Postman Post suivante :
https://NOM-de-votre-ressource-Azure-Search.search.windows.net/indexes?api-version=2025-08-01-previewN’oubliez pas de personnaliser le nom de votre ressource, dans mon exemple ci-dessous, elle s’appelle : »NOM-de-votre-ressource-Azure-Search »
Dans le corps de la requête, nous allons passer les informations suivantes :
{
"name" : "sharepoint-index",
"fields": [
{ "name": "id", "type": "Edm.String", "key": true, "searchable": false },
{ "name": "metadata_spo_item_name", "type": "Edm.String", "key": false, "searchable": true, "filterable": false, "sortable": false, "facetable": false },
{ "name": "metadata_spo_item_path", "type": "Edm.String", "key": false, "searchable": false, "filterable": false, "sortable": false, "facetable": false },
{ "name": "metadata_spo_item_content_type", "type": "Edm.String", "key": false, "searchable": false, "filterable": true, "sortable": false, "facetable": true },
{ "name": "metadata_spo_item_last_modified", "type": "Edm.DateTimeOffset", "key": false, "searchable": false, "filterable": false, "sortable": true, "facetable": false },
{ "name": "metadata_spo_item_size", "type": "Edm.Int64", "key": false, "searchable": false, "filterable": false, "sortable": false, "facetable": false },
{ "name": "metadata_spo_item_weburi", "type": "Edm.String", "key": false, "searchable": false, "filterable": false, "sortable": false, "facetable": false },
{ "name": "content", "type": "Edm.String", "searchable": true, "filterable": false, "sortable": false, "facetable": false },
{ "name": "parent_key", "type": "Edm.String", "filterable": true },
{ "name": "InvoiceTotal", "type": "Edm.String", "key": false, "searchable": true, "filterable": true, "sortable": true, "facetable": false }
]
}Le champ « name« , permet de définir le nom de l’index qui va être créé.
Les éléments sont standardisés, cependant, j’ai rajouté le champ « InvoiceTotal » dans le schéma car j’ai par exemple, besoin d’indexer ici une métadonnée spécifique de ma bibliothèque de document.
La dernière étape va consister à créer l’indexeur des données contenues dans vos bibliothèques de documents.
Mise en œuvre de l’indexeur de documents
Comme dans les étapes précédentes, nous allons appeler l’URL Postman en Post suivante afin de créer l’indexeur de documents :
https://NOM-de-votre-ressource-Azure-Search.search.windows.net/indexers?api-version=2025-08-01-previewN’oubliez pas de personnaliser le nom de votre ressource, dans mon exemple ci-dessous, elle s’appelle : »NOM-de-votre-ressource-Azure-Search »
{
"name" : "sharepoint-indexer",
"dataSourceName" : "sharepoint-datasource",
"targetIndexName" : "sharepoint-index",
"parameters": {
"batchSize": null,
"maxFailedItems": null,
//"base64EncodeKeys": null,
"maxFailedItemsPerBatch": null,
"configuration": {
"indexedFileNameExtensions" : ".pdf, .docx, .doc, .xls, .xlsx",
"excludedFileNameExtensions" : ".png, .jpg",
"dataToExtract": "contentAndMetadata"
}
},
"schedule" : { },
"fieldMappings" : [
{
"sourceFieldName" : "metadata_spo_site_library_item_id",
"targetFieldName" : "id",
"mappingFunction" : {
"name" : "base64Encode"
}
},
{
"sourceFieldName" : "InvoiceTotal"
}
]
}
Pour votre exécution, il sera nécessaire de personnaliser les variables suivantes, en fonction des informations que vous aurez précisée auparavant :
- sharepoint-index
- sharepoint-datasource
- sharepoint-index
Grâce aux champs « indexedFileNameExtensions » et « excludedFileNameExtensions« , vous avez la possibilité de préciser les extensions des documents que vous souhaitez indexer, ou, celles que vous souhaitez exclure de votre indexeur.
Vous retrouvez également en fin de ce schéma, le champ « sourceFieldName« , dans lequel j’ai précisé « InvoiceTotal » comme donnée à récupérer en complément des informations standardisées.

Il est possible que l’exécution de ce dernier appel, nécessite votre authentification, pour réaliser cette dernière, il vous sera nécessaire d’appeler l’URL suivante :
https://NOM-de-votre-ressource-Azure-Search.search.windows.net/indexers/NOM-de-votre-indexer/status?api-version=2025-08-01-previewEt de sélectionner le lien qui vous sera retourné dans la réponse faite par Azure afin de valider votre authentification.
