Configurar a Pesquisa do Microsoft 365 Multi-Geo

Em um ambiente multigeográfico, cada localização geográfica tem seu próprio índice de pesquisa e Centro de pesquisa. Quando um usuário pesquisa, é realizado o fan out para todos os índices e os resultados retornados são mesclados.

Por exemplo, um usuário em uma localização geográfica pode pesquisar por um conteúdo armazenado em outra localização geográfica ou por um conteúdo em um site do SharePoint restrito a uma localização geográfica diferente. Se o usuário tiver acesso a esse conteúdo, a pesquisa mostrará o resultado.

Quais clientes de pesquisa funcionam em um ambiente multigeográfico?

Esses clientes podem retornar resultados de todas as localizações geográficas:

  • OneDrive
  • Delve
  • A home page do SharePoint
  • O Centro de Pesquisa
  • Aplicativos de pesquisa personalizada que usam a API de pesquisa do SharePoint

OneDrive

Assim que o ambiente multigeográfico for configurado, os usuários que pesquisam no OneDrive obtêm resultados de todas as localizações geográficas.

Delve

Assim que o ambiente multigeográfico for configurado, os usuários que pesquisam no Delve obtêm resultados de todas as localizações geográficas.

O feed do Delve e o cartão de perfil mostram apenas as visualizações de arquivos armazenados no local central. Para os arquivos armazenados em localizações satélites, é mostrado o ícone para o tipo de arquivo.

A home page do SharePoint

Assim que o ambiente multigeográfico for configurado, os usuários verão notícias, sites recentes e seguidos a partir de várias localizações geográficas na home page do SharePoint. Se eles usarem a caixa de pesquisa na home page do SharePoint, receberão resultados mesclados de várias localizações geográficas.

O Centro de Pesquisa

Após a configuração do ambiente multigeográfico, cada Centro de Pesquisa continua mostrando apenas os resultados da própria localização geográfica. Os administradores devem alterar as configurações de cada Centro de Pesquisa para obter resultados de todas as localizações geográficas. Posteriormente, os usuários que pesquisarem no Centro de Pesquisa obterão resultados de todas as localizações geográficas.

Aplicativos de pesquisa personalizada

Como de costume, os aplicativos de pesquisa personalizada interagem com os índices de pesquisa usando as APIs REST existentes da Pesquisa do SharePoint. Para obter resultados de todas ou de algumas localizações geográficas, o aplicativo deve ligar para a API e incluir os novos parâmetros de consulta multigeográfica na solicitação. Isso dispara um fan-out da consulta para todas as localizações geográficas.

O que a pesquisa em um ambiente multigeográfico tem de diferente?

Alguns recursos de pesquisa que talvez você conheça funcionam diferente em um ambiente multigeográfico.

Recurso Como funciona Solução alternativa
Resultados promovidos Você pode criar regras de consulta com nos resultados promovidos em diferentes níveis: do locatário inteiro, um conjunto de sites ou um site. Em um ambiente multigeográfico, definir resultados promovidos no nível do locatário para promover os resultados para os Centros de Pesquisa em todos as localizações geográficas. Se você deseja promover resultados no Centro de pesquisa que está na localização geográfica do conjunto de sites ou site, defina os resultados promovidos no nível do site ou conjunto de sites. Esses resultados não são promovidos em outras localizações geográficas. Se você não precisar de diferentes resultados promovidos por localização geográfica, como diferentes regras de viagens, recomendamos definir resultados promovidos no nível do locatário.
Refinadores de pesquisa A pesquisa retorna refinadores de todas as localizações geográficas de um locatário e os agrega. A agregação é um esforço dentro do melhor possível, quer dizer, as contagens de refinador podem não estar 100% corretas. Para a maioria dos cenários orientados por pesquisa, esse nível e precisão é suficiente. Para os aplicativos orientados por pesquisa que dependem da integridade do refinador, consulte cada localização geográfica individualmente.
A pesquisa multigeográfica não dá suporte a bucketing dinâmico para refinadores numéricos. Use o parâmetro "Discretize" para refinadores numéricos.
IDs do documento Se você estiver desenvolvendo um aplicativo orientado por pesquisa que depende de IDs de documento, observe que as IDs de documento em um ambiente multigeográfico não são exclusivas entre localizações geográficas, elas são exclusivas por localização geográfica. Adicionar uma coluna que identifique a localização geográfica. Use essa coluna para ter exclusividade. Essa coluna é denominada "GeoLocationSource".
Número de resultados A página de resultados de pesquisa mostra os resultados combinados das localizações geográficas, mas não é possível paginar mais de 500 resultados.
Pesquisa híbrida Em um ambiente do SharePoint híbrido com pesquisa híbrida de nuvem, o conteúdo local é adicionado ao índice do Microsoft 365 da localização central.

O que a pesquisa em um ambiente multigeográfico não suporta?

Alguns dos recursos de pesquisa que talvez você conheça não são suportados em um ambiente multigeográfico.

Recurso de pesquisa Observação
Autenticação somente aplicativo A autenticação somente de aplicativos (acesso privilegiado dos serviços) não tem suporte na pesquisa multigeográfica.
Convidados Os convidados só obtêm resultados da localização geográfica da qual estão pesquisando.

Como a pesquisa funciona em um ambiente multigeográfico?

Todos os clientes de pesquisa usam as APIs REST de Pesquisa existentes do SharePoint para interagir com os índices de pesquisa.

Diagrama mostrando como SharePoint APIs REST de Pesquisa interagem com os índices de pesquisa.

  1. Um cliente pesquisa chama o ponto de extremidade da API REST com a propriedade de consulta EnableMultiGeoSearch= true.
  2. A consulta é enviada a todas as localizações geográficas no locatário.
  3. Os resultados de pesquisa de cada localização geográfica são mesclados e classificados.
  4. O cliente obtém resultados de pesquisa unificados.

Observe que não mesclamos os resultados da pesquisa até recebemos resultados de todas as localizações geográficas. Isso significa que pesquisas multigeográficas têm latência adicional comparadas com pesquisas em um ambiente com localização geográfica única.

Obter um centro de pesquisa para mostrar resultados de todas as localizações geográficas

Cada centro de pesquisa tem vários verticais e você precisará configurar cada vertical individualmente.

  1. Certifique-se de executar essas etapas com uma conta que tenha permissão para editar a página de resultados de pesquisa e a Web Part de resultados de pesquisa.

  2. Navegue até a página de resultados de pesquisa (confira a lista das páginas de resultados de pesquisa)

  3. Selecione o eixo vertical a configurar, clique no ícone de engrenagem Configurações no canto superior direito e, em seguida, clique em Editar página. A página de resultados de pesquisa abre no modo de edição.

    Edite a seleção de página Configurações.

  4. Na Web Part de Resultados de Pesquisa, mova o ponteiro para o canto superior direito da web part, clique na seta e, em seguida, clique em Editar Web Part no menu. O painel de ferramentas da Web Part de Resultados de Pesquisa é aberto na faixa de opções no canto superior direito da página.

    Editar seleção de Web Part.

  5. No painel de ferramentas da Web Part, na seção Configurações, em Configurações de controle de resultados, marque Mostrar resultados multigeográficos para obter a Web Part de resultados de pesquisa para mostrar resultados de todas as localizações geográficas.

  6. Clique em OK para salvar as alterações e fechar o painel de ferramentas da Web Part.

  7. Verifique as suas alterações na Web Part de resultados da pesquisa clicando em Check-In na guia Página do menu principal.

  8. Publique as alterações usando o link fornecido na observação na parte superior da página.

Obter aplicativos de pesquisa personalizada para mostrar resultados de todas ou algumas localizações geográficas

Os aplicativos de pesquisa personalizada obtêm resultados de todas ou algumas localizações geográficas, especificando-se os parâmetros de consulta com a solicitação para a API REST de pesquisa do SharePoint. Dependendo dos parâmetros de consulta, realiza-se fan-out da consulta para todas ou algumas localizações geográficas. Por exemplo, se você apenas precisar consultar um subconjunto de localizações geográficas para encontrar informações relevantes, você pode controlar o fan-out apenas de acordo com elas. Se a solicitação for concluída, a API REST de pesquisa do SharePoint retorna dados de resposta.

Requisito

Para cada local geográfico, certifique-se de que todos os usuários na organização tiverem o nível de permissão ler do site raiz (por exemplo, contoso APAC.sharepoint.com/ e a contoso EU.sharepoint.com/). Saiba mais sobre permissões.

Parâmetros de consulta

EnableMultiGeoSearch, isso é um valor Booleano que especifica se o fan ou deve ser realizado para os índices das outras localizações geográficas do locatário multigeográfico. Definido como verdadeiro para realizar o fan out da consulta. falso para não realizar o fan out da consulta. Se você não incluir esse parâmetro, o valor padrão será falso, exceto ao fazer uma chamada da API REST em um site que use o modelo do Centro de Pesquisa Corporativo; nesse caso, o valor padrão será verdadeiro. Se você usa o parâmetro em um ambiente que não é multigeográfico, o parâmetro será ignorado.

ClientType - Isso é uma cadeia de caracteres. Insira um nome exclusivo do cliente para cada aplicativo de pesquisa. Se esse parâmetro não for incluído, o fan out da consulta não é feito em outra localizações geográficas.

MultiGeoSearchConfiguration - Isso é uma lista opcional de localizações geográficas filiais em um locatário multigeográfico para realizar o fan out da consulta quando EnableMultiGeoSearch for verdadeiro. Se você não incluir este parâmetro ou deixar em branco, o fan out da consulta é feito para todas as localizações geográficas. Para cada localização geográfica, insira os seguintes itens no formato JSON:

Item Descrição
DataLocation Localização geográfica, por exemplo, NAM.
EndPoint O ponto de extremidade ao qual se conectar, por exemplo, https://contoso.sharepoint.com
SourceId O GUID da fonte de resultados, por exemplo, B81EAB55-3140-4312-B0F4-9459D1B4FFEE.

Se você omitir DataLocation ou EndPoint ou se um DataLocation estiver duplicado, a solicitação falhará. Você pode obter informações sobre o ponto de extremidade das localizações geográficas de um locatário usando o Microsoft Graph.

Dado de resposta

MultiGeoSearchStatus – Isso é uma propriedade que a API de pesquisa do SharePoint retorna em resposta a uma solicitação. O valor da propriedade é uma cadeia de caracteres e fornece as seguintes informações sobre os resultados que a API de pesquisa do SharePoint retorna:

Valor Descrição
Completo Total de resultados de todas as localizações geográficas.
Parcial Os resultados parciais de uma ou mais localizações geográficas. Os resultados são incompletos devido a um erro transitório.

Consulta usando o serviço REST

Com uma solicitação GET, você especifica os parâmetros da consulta na URL. Com uma solicitação POST, você passa os parâmetros de consulta no corpo no formato JavaScript Object Notation (JSON).

Cabeçalhos de solicitação

Nome Valor
Content-Type application/json;odata=verbose

Exemplo de solicitação GET da qual se realiza fan-out para todas as localizações geográficas

https:// \<tenant\>/\_api/search/query?querytext='sharepoint'&Properties='EnableMultiGeoSearch:true'&ClientType='my\_client\_id'

Exemplo de solicitação GET da qual realizar fan-out para algumas localizações geográficas

https:// \<tenant\>/\_api/search/query?querytext='site'&ClientType='my_client_id'&Properties='EnableMultiGeoSearch:true, MultiGeoSearchConfiguration:[{DataLocation\\:"NAM"\\,Endpoint\\:"https\\://contosoNAM.sharepoint.com"\\,SourceId\\:"B81EAB55-3140-4312-B0F4-9459D1B4FFEE"}\\,{DataLocation\\:"CAN"\\,Endpoint\\:"https\\://contosoCAN.sharepoint-df.com"}]'

Observação

Vírgulas e dois-pontos na lista de localizações geográficas para a propriedade MultiGeoSearchConfiguration são precedidas pelo caractere barra invertida. Isso ocorre porque solicitações GET usam dois-pontos para separar propriedades e vírgulas para separar os argumentos das propriedades. Sem uma barra invertida como um caractere de escape, a propriedade MultiGeoSearchConfiguration será interpretada incorretamente.

Exemplo de solicitação POST da qual se realiza fan-out para todas as localizações geográficas

    {
    "request": {
            "__metadata": {
            "type": "Microsoft.Office.Server.Search.REST.SearchRequest"
        },
        "Querytext": "sharepoint",
        "Properties": {
            "results": [
                {
                    "Name": "EnableMultiGeoSearch",
                    "Value": {
                        "QueryPropertyValueTypeIndex": 3,
                        "BoolVal": true
                    }
                }
            ]
        },
        "ClientType": "my_client_id"
        }
    }

Exemplo de solicitação POST da qual se realiza fan-out para algumas localizações geográficas

    {
        "request": {
            "Querytext": "SharePoint",
            "ClientType": "my_client_id",
            "Properties": {
                "results": [
                    {
                        "Name": "EnableMultiGeoSearch",
                        "Value": {
                            "QueryPropertyValueTypeIndex": 3,
                            "BoolVal": true
                        }
                    },
                    {
                        "Name": "MultiGeoSearchConfiguration",
                        "Value": {
                        "StrVal": "[{\"DataLocation\":\"NAM\",\"Endpoint\":\"https://contoso.sharepoint.com\",\"SourceId\":\"B81EAB55-3140-4312-B0F4-9459D1B4FFEE\"},{\"DataLocation\":\"CAN\",\"Endpoint\":\"https://contosoCAN.sharepoint.com\"}]",
                            "QueryPropertyValueTypeIndex": 1
                        }
                    }
                ]
            }
        }
    }

Consulta usando o CSOM

Vejamos um exemplo de consulta CSOM da qual se faz fan-out para todas as localizações geográficas:

var keywordQuery = new KeywordQuery(ctx);
keywordQuery.QueryText = query.SearchQueryText;
keywordQuery.ClientType = <enter a string here>;
keywordQuery.Properties["EnableMultiGeoSearch"] = true;