Use a API de Pesquisa da Microsoft para pesquisar tipos personalizados importados usando conectores do Microsoft Graph (visualização)Use the Microsoft Search API to search custom types imported using Microsoft Graph connectors (preview)

Use a API de Pesquisa da Microsoft para pesquisar o conteúdo ingerido e indexado pelos conectores do Microsoft Graph.Use the Microsoft Search API to search accross content ingested and indexed by Microsoft Graph connectors. O conteúdo é importado por meio de conectores integrados fornecidos pela Microsoft ou por meio de conectores personalizados implementados usando a API de ingestão de conectores do Microsoft Graph.The content is imported either via built-in connectors provided by Microsoft, or via custom connectors implemented using the Microsoft Graph connectors ingestion API.

Importante

Os conectores do Microsoft Graph estão no seu status de visualização pública no momento.Microsoft Graph connectors are currently in public preview status. Para obter acesso aos conectores de funcionalidade, você deve ativar a opção Lançamento direcionado em seu locatário.To gain access to connectors functionality, you must turn on the Targeted release option in your tenant. Para ver mais detalhes, confira oprograma de visualização de conectores.See more details on the connectors preview program.

Cuidado

O esquema da API de pesquisa foi alterado na versão beta com algumas propriedades em uma solicitação de pesquisa e resposta renomeadas ou removidas.The search API schema has changed in the beta version with some properties in a search request and response renamed or removed. Encontre mais detalhes sobre a substituição.See more details about the deprecation. Os exemplos deste tópico mostram o esquema atualizado a ser usado na versão 1.0 e beta.Examples in this topic show the up-to-date schema to use in v1.0 and beta.

Depois que o conteúdo tiver sido importado e indexado, você poderá usar a API de pesquisa para consultar o conteúdo.Once the content has been imported and indexed, you can use the search API to query the content.

Para pesquisar tipos personalizados, especifique as seguintes propriedades no corpo da solicitação do método de consulta:To search for custom types, specify the following properties in the request body of the query method:

  • A propriedade contentSources para incluir a ID de conexão atribuída durante a instalação do conector.The contentSources property to include the connection ID that is assigned during the connector setup. Você pode passar várias IDs de conexão para pesquisar em várias conexões.You can pass multiple connection IDs to search across multiple connections. Os resultados são retornados em uma única lista, classificada entre as várias conexões.Results are returned in a single list, ranked accross the multiple connections.
  • A propriedade entityTypes como externalItem .The entityTypes property as externalItem.

  • A propriedade fields para incluir os campos no item externo a ser recuperado.The fields property to include the fields in the external item to retrieve. Observe que, se você não incluir nenhum campo na solicitação, a resposta conterá todos os campos marcados como recuperáveis no esquema de dados especificado para as conexões especificadas na propriedade contentSources.Note that if you do not include any fields in the request, the response will contain all the fields marked as retrievable in the data schema specified for the specified connections in the contentSources property.

Além disso, você pode agregar resultados de pesquisa com base em propriedades em um externalItem que são numéricos ou tipo de cadeia de caracteres e que são definidos como refináveis no esquema.In addition, you can aggregate search results based on properties in an externalItem that are numeric or string type, and that are set to be refinable in the schema. Para obter mais informações, consulte Refinar resultados de pesquisa usando agregação .For more information, see Refine search results using aggregations.

Exemplo 1: Recuperar itens usando o Azure SQL conector integradoExample 1: Retrieve items using Azure SQL built-in connector

Neste exemplo, o conteúdo do banco de dados AdventureWorks foi ingerido usando o conector do Azure SQL integrado.In this example, the content of the AdventureWorks database has been ingested using the Azure SQL built-in connector.

SolicitaçãoRequest

POST https://graph.microsoft.com/beta/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"
      ]
    }
  ]
}

RespostaResponse

HTTP/1.1 200 OK
Content-type: application/json

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#Collection(microsoft.graph.searchResponse)",
  "value": [
    {
      "searchTerms": ["ya"],
      "hitsContainers": [
        {
          "total": 2,
          "moreResultsAvailable": false,
          "hits": [
            {
              "hitId": "AAMkADc0NDNlNTE0",
              "rank": 1,
              "summary": "<ddd/>",
              "contentSource": "/external/connections/azuresqlconnector",
              "resource": {
                "@odata.type": "#microsoft.graph.externalItem",
                "properties": {
                  "businessEntityID": 20704,
                  "firstName": "Amy",
                  "lastName": "Yang"
                }
              }
            },
           {
              "hitId": "AQMkADg3M2I3YWMyLTEwZ",
              "rank": 2,
              "summary": "<ddd/>",
              "contentSource": "/external/connections/azuresqlconnector2",
              "resource": {
                "@odata.type": "#microsoft.graph.externalItem",
                "properties": {
                  "businessEntityID": 20704,
                  "shortDescription": "Contoso maintenance guidelines",
                  "firstName": "Amy",
                  "lastName": "Yang"
                }
              }
            },
          ]
        }
      ]
    }
  ]
}

Exemplo 2: Recuperar itens usando rótulos semânticosExample 2: Retrieve items using semantic labels

SolicitaçãoRequest

POST https://graph.microsoft.com/beta/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
      }
    ]
}

RespostaResponse

HTTP/1.1 200 OK
Content-type: application/json

{
  "@odata.context": "https://graph.microsoft.com/beta/$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.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.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.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
          }
        ]
      }
    ]
}

Para obter mais detalhes, consulte Atribuir rótulos de propriedade.For more details, see Assign property labels.

Próximas etapasNext steps