Использование API microsoft Поиск для поиска пользовательских типов, импортированных с помощью соединителей Microsoft Graph
Используйте API Microsoft Поиск в Microsoft Graph для поиска внешнего содержимого, принятых и индексированных соединителями Microsoft Graph. Содержимое импортируется либо через встроенные соединители , предоставляемые корпорацией Майкрософт, либо через пользовательские соединители, реализованные с помощью API приема соединителей Microsoft Graph.
Предостережение
Схема API поиска изменилась в бета-версии. Некоторые свойства в поисковом запросе и ответе были переименованы или удалены. Дополнительные сведения см. в разделе Предупреждение об изменении схемы об устаревании. В примерах в этом разделе показана актуальная схема.
После импорта и индексирования содержимого можно использовать API поиска для запроса содержимого.
Чтобы найти пользовательские типы, укажите следующие свойства в тексте запроса метода запроса :
- Свойство contentSources , включающее идентификатор подключения, назначенный во время установки соединителя. Для поиска по нескольким подключениям можно передать несколько идентификаторов подключений. Результаты возвращаются в одном списке, ранжированном по нескольким подключениям.
Свойство entityTypes как
externalItem
.Свойство fields , включаемое в извлекаемый внешний элемент. Обратите внимание, что если не включить в запрос ни одного поля , ответ будет содержать все поля, помеченные как извлекаемые в схеме данных, указанной для указанных соединений в свойстве contentSources .
Кроме того, можно агрегировать результаты поиска на основе свойств во externalItem , которые являются числовым или строковым типом и которые заданы для уточнения в схеме. Дополнительные сведения см. в разделе Уточнение результатов поиска с помощью агрегатов.
Пример 1. Получение элементов с помощью встроенного соединителя Azure SQL
В этом примере содержимое базы данных AdventureWorks было приняты с помощью встроенного соединителя Azure SQL.
Запрос
POST https://graph.microsoft.com/v1.0/search/query
Content-Type: application/json
{
"requests": [
{
"entityTypes": [
"externalItem"
],
"contentSources": [
"/external/connections/azuresqlconnector",
"/external/connections/azuresqlconnector2"
],
"query": {
"queryString": "yang"
},
"from": 0,
"size": 25,
"fields": [
"BusinessEntityID",
"firstName",
"lastName"
]
}
]
}
Отклик
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#Collection(microsoft.graph.searchResponse)",
"value": [
{
"searchTerms": ["yang"],
"hitsContainers": [
{
"total": 2,
"moreResultsAvailable": false,
"hits": [
{
"hitId": "AAMkADc0NDNlNTE0",
"rank": 1,
"summary": "<ddd/>",
"contentSource": "/external/connections/azuresqlconnector",
"resource": {
"@odata.type": "#microsoft.graph.externalConnectors.externalItem",
"properties": {
"businessEntityID": 20704,
"firstName": "Amy",
"lastName": "Yang"
}
}
},
{
"hitId": "AQMkADg3M2I3YWMyLTEwZ",
"rank": 2,
"summary": "<ddd/>",
"contentSource": "/external/connections/azuresqlconnector2",
"resource": {
"@odata.type": "#microsoft.graph.externalConnectors.externalItem",
"properties": {
"businessEntityID": 20704,
"shortDescription": "Contoso maintenance guidelines",
"firstName": "Amy",
"lastName": "Yang"
}
}
},
]
}
]
}
]
}
Пример 2. Получение элементов с помощью семантических меток
Запрос
POST https://graph.microsoft.com/v1.0/search/query
Content-Type: application/json
{
"requests": [
{
"entityTypes": [
"microsoft.graph.externalItem"
],
"contentSources": [
"/external/connections/FileAsUdt"
],
"query": {
"query_string": {
"query": "test"
}
},
"stored_fields": [
"label_Title",
"label_URL",
"label_LastModifiedBy",
"label_LastModifiedDateTime"
],
"from": 0,
"size": 25
}
]
}
Отклик
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#Collection(microsoft.graph.searchResponse)",
"value": [
{
"searchTerms": [
"test"
],
"hitsContainers": [
{
"hits": [
{
"_id": "AQMkAGRjZWJjZTFkLTkzYWItNDhlOC1iODA2LTgwMTNjNjEzYzI2YwBGAAADOx0/YV2JckefuDmJtUO7mwcAHNjGq33S50uXSFeU/U9mogAAAgEWAAAAHNjGq33S50uXSFeU/U9mogAAAgleAAAA",
"_contentSource": "FileAsUdt",
"_score": 1,
"_summary": "<c0>Test</c0> component to move data files and messages between the gateway and internal <ddd/>",
"_source": {
"@odata.type": "#microsoft.graph.externalConnectors.externalItem",
"properties": {
"label_Title": "SONIC Operations support and test Guide for the month of March",
"label_URL": "D:\\\\ConnectorsEcho\\\\New\\\\MSW06SecondSet\\\\teams\\\\Enterprise_Platforms\\\\CCO\\\\Projects\\\\BTSi Modernization\\\\SONIC Retirement\\\\SONIC_Operations_Support_Guide.docx",
"label_LastModifiedBy": [
"Bob",
"Scott"
],
"label_LastModifiedDateTime": "2020-01-30T12:44:19Z"
}
}
},
{
"_id": "AQMkAGRjZWJjZTFkLTkzYWItNDhlOC1iODA2LTgwMTNjNjEzYzI2YwBGAAADOx0/YV2JckefuDmJtUO7mwcAHNjGq33S50uXSFeU/U9mogAAAgEWAAAAHNjGq33S50uXSFeU/U9mogAAAgldAAAA",
"_contentSource": "FileAsUdt",
"_score": 2,
"_summary": "File Transfer Workbench A <c0>test</c0> File transfer Management Solution File Transfer the number <ddd/>",
"_source": {
"@odata.type": "#microsoft.graph.externalConnectors.externalItem",
"properties": {
"label_Title": "Test File Transfer Workbench for the month of January",
"label_URL": "D:\\\\ConnectorsEcho\\\\New\\\\MSW06SecondSet\\\\teams\\\\IssueLog\\\\FCAGA Organisation\\\\NSN CO CCA Infra YBCFTPAR entry\\\\File Transfer Workbench.ppt",
"label_LastModifiedBy": [
"Alice",
"Scott"
],
"label_LastModifiedDateTime": "2020-01-31T11:44:19Z"
}
}
},
{
"_id": "AQMkAGRjZWJjZTFkLTkzYWItNDhlOC1iODA2LTgwMTNjNjEzYzI2YwBGAAADOx0/YV2JckefuDmJtUO7mwcAHNjGq33S50uXSFeU/U9mogAAAgEWAAAAHNjGq33S50uXSFeU/U9mogAAAglgAAAA",
"_contentSource": "FileAsUdt",
"_score": 3,
"_summary": "document and the associated <c0>test</c0> software are the sole property of Express Logic.<ddd/>",
"_source": {
"@odata.type": "#microsoft.graph.externalConnectors.externalItem",
"properties": {
"label_Title": "System User Guide Express Logic 858.613.6640",
"label_URL": "D:\\\\ConnectorsEcho\\\\New\\\\MSW06FirstSet\\\\teams\\\\AzureIoTMarketing\\\\Shared Documents\\\\Whitepapers\\\\RTOS Whitepapers\\\\User Guides\\\\Azure_RTOS_FileX_User_Guide.pdf",
"label_LastModifiedBy": [
"Alice",
"Bob"
],
"label_LastModifiedDateTime": "2020-05-25T10:20:19Z"
}
}
}
],
"total": 3,
"moreResultsAvailable": false
}
]
}
]
}
Дополнительные сведения см. в разделе Назначение меток свойств.