There are two basic approaches used for ingesting data and populating an index in Azure Cognitive Search:
Pull the data into the index using an Azure Cognitive Search indexer:
The pull model uses an indexer to crawl a supported Azure data source and automatically upload data from the source
into an index.
Push data into the index programmatically:
The push model also allows you to upload documents to Azure Cognitive Search regardless of where the source data resides since it does not rely on an indexer’s ability to access it.
The push model relies on custom applications to push documents directly into a search index programmatically.
Applications can use either the Azure Cognitive Search REST API or the Azure Search SDK for .NET to send data into the index.
This model does not use indexers or Azure Cognitive Search data sources, so the application pushing data into the
index must perform document cracking, if necessary, and AI enrichment before calling the API or SDK methods to add documents to an index.
With Push model it should be possible to use data from Office 365 as source but there is more implementation work.