Documentos de pesquisa (Preview REST API)

Versão API: 2021-04-30-Preview, 2020-06-30-Preview

Importante

2021-04-30-Preview adiciona:

  • "Coniguration semântica" suporta a deteção de classificações semânticas para campos específicos.
  • "legendas" devolve frases extraídas de passagens-chave nos documentos mais altos classificados semânticamente classificados.

2020-06-30-Preview adiciona:

  • "consultaType=semântica" suporta reclasse semântica e respostas.
  • "Soletrador" permite a correção do feitiço na entrada de consulta.
  • É necessária "queryLanguage" tanto para "consultaType=semântica" como para "soletrador".
  • "featuresMode" desembala uma pontuação de pesquisa, reportando na frequência por período de campo, pontuação de semelhança por campo e número por campo de jogos únicos.

Um pedido de consulta visa a recolha de documentos de um único índice num serviço de pesquisa. Inclui parâmetros que definem os critérios de correspondência e parâmetros que moldam a resposta. Também pode usar um pseudónimo de índice para direcionar um determinado índice em vez de usar o próprio nome do índice.

Pode utilizar GET ou POST. Os parâmetros de consulta são especificados na cadeia de consulta no caso de pedidos GET, e no organismo de pedido no caso de pedidos postais.

GET https://[service name].search.windows.net/indexes/[index name]/docs?[query parameters] 
  Content-Type: application/json   
  api-key: [admin or query key]  

Se estiver a utilizar o POST, adicione a ação de "pesquisa" como parâmetro URI.

POST https://[service name].search.windows.net/indexes/[index name]/docs/search?api-version=[api-version]  
  Content-Type: application/json  
  api-key: [admin or query key]  

Quando chamado com GET, o comprimento do URL de pedido não pode exceder 8 KB. Este comprimento é suficiente para a maioria das aplicações. No entanto, algumas aplicações produzem grandes consultas, especificamente quando são utilizadas expressões de filtro OData. Para estas aplicações, HTTP POST é uma escolha melhor porque permite filtros maiores do que GET.

Com o POST, o número de cláusulas num filtro é o fator limitativo, não o tamanho da cadeia de filtro bruto, uma vez que o limite de tamanho de pedido para POST é de aproximadamente 16 MB. Embora o limite de tamanho do pedido POST seja muito grande, as expressões de filtro não podem ser arbitrariamente complexas. Para obter mais informações sobre limitações de complexidade do filtro, consulte a Sintaxe de Expressão OData para Azure Cognitive Search.

Parâmetros do URI

Parâmetro Description
[nome de serviço] Obrigatório. Desa esta designe pelo nome único e definido pelo utilizador do seu serviço de pesquisa.
[nome do índice]/docs Obrigatório. Especifica a recolha de documentos de um índice nomeado. O nome de um pseudónimo de índice também pode ser usado no lugar do nome do índice.
[parâmetros de consulta] Os parâmetros de consulta são especificados no URI para pedidos GET e no órgão de pedido de pedidos POST.
api-version Obrigatório. A versão atual é api-version=2021-04-30-Preview. Consulte as versões API para mais versões.

Recomendações de codificação de URL

Lembre-se de codificar parâmetros de consulta específicos ao ligar diretamente para a API GET REST. Para uma operação de Documentos de Busca , a codificação de URL pode ser necessária para os seguintes parâmetros de consulta:

  • pesquisar
  • $filter
  • faceta
  • destaquePreTag
  • highlightPostTag

A codificação de URL só é recomendada para parâmetros individuais. Se inadvertidamente o URL codificar toda a cadeia de consulta (tudo após o), os ?pedidos quebrarão.

Além disso, a codificação de URL só é necessária quando ligar diretamente para a API REST utilizando o GET. Não é necessária codificação de URL quando se utiliza o POST, ou quando se utiliza a biblioteca de clientes Azure Cognitive Search .NET, que trata da codificação para si.

Pedido cabeçalhos

A tabela seguinte descreve os cabeçalhos de pedido necessários e opcionais.

Campos Description
Content-Type Obrigatório. Desa esta definição para "application/json"
api-chave Obrigatório. Uma cadeia única gerada pelo sistema que autentica o pedido ao seu serviço de pesquisa. Os pedidos de consulta contra a recolha de documentos podem especificar uma chave de administração ou uma chave de consulta como a chave API. A chave de consulta é utilizada para operações de leitura apenas contra a recolha de documentos. Pode encontrar a chave API no seu painel de pesquisa no portal do Azure.

Corpo do Pedido

Para GET: Nenhum.

Para POST:

{  
     "answers": "none" (default) | "extractive", 
     "count": true | false (default),
     "captions": "none" (default) | "extractive",
     "facets": [ "facet_expression_1", "facet_expression_2", ... ],  
     "featuresMode" : "disabled" (default) | "enabled",
     "filter": "odata_filter_expression",  
     "highlight": "highlight_field_1, highlight_field_2, ...",  
     "highlightPreTag": "pre_tag",  
     "highlightPostTag": "post_tag",  
     "minimumCoverage": # (% of index that must be covered to declare query successful; default 100),  
     "orderby": "orderby_expression",
     "queryLanguage": "en-us" (default) | (a supported language code), 
     "queryType": "simple" (default) | "full" | "semantic",
     "scoringParameters": [ "scoring_parameter_1", "scoring_parameter_2", ... ],  
     "scoringProfile": "scoring_profile_name",  
     "scoringStatistics" : "local" (default) | "global",
     "search": "simple_query_expression",  
     "searchFields": "field_name_1, field_name_2, ...",  
     "searchMode": "any" (default) | "all",  
     "select": "field_name_1, field_name_2, ...",  
     "semanticConfiguration": "semantic_configuration_name",
     "sessionId" : "session_id",
     "skip": # (default 0), 
     "speller": "none" (default) | "lexicon",  
     "top": #  
   }  

Continuação de respostas parciais de pesquisa

Às vezes, Azure Cognitive Search não pode devolver todos os resultados solicitados numa única resposta de Pesquisa. Isto pode acontecer por diferentes razões, tais como quando a consulta solicita demasiados documentos, não especificando $top ou especificando um valor para $top que é demasiado grande. Nesses casos, Azure Cognitive Search incluirá a @odata.nextLink anotação no organismo de resposta, e também @search.nextPageParameters se foi um pedido de CORREIO. Pode utilizar os valores destas anotações para formular outro pedido de Pesquisa para obter a próxima parte da resposta de pesquisa. Isto é chamado de continuação do pedido original de pesquisa, e as anotações são chamadas tokens de continuação. Veja o exemplo na Resposta abaixo para obter detalhes sobre a sintaxe destas anotações e onde aparecem no corpo de resposta.

As razões pelas quais Azure Cognitive Search podem devolver fichas de continuação são específicas da implementação e estão sujeitas a alterações. Os clientes robustos devem estar sempre prontos para lidar com casos em que menos documentos do que o esperado são devolvidos e um sinal de continuação é incluído para continuar a recuperar documentos. Note também que deve utilizar o mesmo método HTTP que o pedido original para continuar. Por exemplo, se enviou um pedido GET, quaisquer pedidos de continuação que envie também devem utilizar GET (e igualmente para POST).

Nota

O objetivo e @odata.nextLink@search.nextPageParameters é proteger o serviço de consultas que solicitam demasiados resultados, não fornecer um mecanismo geral de paging. Se quiser analisar os resultados, utilize $top e $skip juntos. Por exemplo, se quiser páginas do tamanho 10, o seu primeiro pedido deve ter $top=10 e $skip=0, o segundo pedido deve ter $top=10 e $skip=10, o terceiro pedido deve ter $top=10 e $skip=20, e assim por diante.

Parâmetros de Consulta

Uma consulta aceita vários parâmetros no URL quando chamado com GET, e como propriedades JSON no corpo de pedido quando chamado com POST. A sintaxe para alguns parâmetros é ligeiramente diferente entre GET e POST. Estas diferenças são anotados como aplicáveis abaixo.

Nome Tipo Description
respostas (pré-visualização) string Opcional. Valores válidos são "nenhum" e "extrativo". Incumprimentos a "nenhum". Este parâmetro só é válido se o tipo de consulta for "semântico". Quando definido para "extrativo", a consulta formula e devolve respostas de passagens-chave nos documentos mais classificados semânticamente. O predefinido é uma resposta, mas pode especificar até 10 adicionando uma contagem. Por exemplo, "respostas": "extrativo|count-3" devolve três respostas. Para que uma resposta seja devolvida, deve haver informações suficientes nos campos de pesquisa para formular uma. Além disso, a consulta em si deve parecer uma questão. Uma pesquisa de palavras-chave não devolve uma resposta.
api-version string Obrigatório. Versão da API REST utilizada para o pedido. Para obter uma lista de versões suportadas, consulte as versões API. Para esta operação, a versão api é especificada como um parâmetro URI, independentemente de ligar para Os Documentos de Busca com GET ou POST.
legendas (pré-visualização) string Opcional. Valores válidos são "nenhum" e "extrativo". Incumprimentos a "nenhum". Este parâmetro só é válido se o tipo de consulta for "semântico". Quando definido para "extrativo", a consulta devolve as legendas extraídas das passagens-chave nos documentos mais bem classificados. Quando as legendas são definidas como 'extrativas', o destaque é ativado por padrão, e pode ser configurado através da fixação do caractere do tubo '|' seguido da opção 'highlight-true</false>', como "extrativo|highlight-true".
$count boolean Opcional. Valores válidos são "verdadeiros" ou "falsos". Incumprimentos a "falso". Quando chamado com POST, este parâmetro é nomeado contagem em vez de $count. Especifica se deve obter a contagem total de resultados. Esta é a contagem de todos os documentos que correspondem aos parâmetros de pesquisa e $filter, ignorando $top e $skip. Definir este valor para "verdadeiro" pode degradar o desempenho. A contagem é precisa se o índice for estável, mas sub-ou sobre-reportar quaisquer documentos que sejam adicionados, atualizados ou eliminados ativamente. Se quiser obter apenas a contagem sem documentos, pode usar $top=0.
faceta string Opcional. Um campo para enfrentar. A cadeia pode conter parâmetros para personalizar o facetamento, expresso como nome separado por vírgula:pares de valor. Quando chamado com POST, este parâmetro é nomeado facetas em vez de faceta.

Válidos são "contagem", "ordenar", "valores", "intervalo" e "timeoffset".

"contagem" é o número máximo de termos faceta; padrão é 10. Não há limite máximo no número de termos, mas valores mais elevados irão degradar o desempenho, especialmente se o campo facetado contiver um grande número de termos únicos. Por exemplo, "facet=category,count:5" obtém as cinco categorias mais bem classificadas nos resultados das facetas. Se o parâmetro da contagem for inferior ao número de termos únicos, os resultados podem não ser precisos. Isto deve-se à forma como as consultas faciais são distribuídas por fragmentos. Pode definir a contagem a zero ou a um valor que seja maior ou igual ao número de valores únicos no campo facetable para obter uma contagem precisa em todos os fragmentos. A troca é aumentada a latência.

"ordenar" pode ser definido como "contar", "contar", "valor", "valor". Use a contagem para ordenar a descida por contagem. Use -contagem para ordenar ascendente por contagem. Use valor para classificar ascendente por valor. Use o valor para classificar descer por valor (por exemplo, "facet=category,count:3,sort:count" obtém as três categorias mais caras em resultados decrescentes pelo número de documentos com cada nome da cidade). Se as três categorias mais bem classificadas são Orçamento, Motel e Luxo, e o Orçamento tem 5 acessos, o Motel tem 6, e o Luxury tem 4, então os baldes estarão na ordem Motel, Budget, Luxury. Para o valor, "facet=rating,sort:-value" produz baldes para todas as classificações possíveis, em ordem descendente por valor (por exemplo, se as classificações forem de 1 a 5, os baldes serão encomendados 5, 4, 3, 2, 1, independentemente de quantos documentos correspondam a cada classificação).

"Valores" podem ser definidos para valores numéricos delimitados por tubos ou Edm.DateTimeOffset especificando um conjunto dinâmico de valores de entrada faceta (por exemplo, "facet=baseRate,valores:10 | 20" produz três baldes: um para a taxa base 0 até, mas não incluindo 10, um para 10 até, mas não incluindo 20, e um para 20 e superior). Uma corda "facet=lastRenovationDate,values:2010-02-01T00:00:00Z" produz dois baldes: um para hotéis renovados antes de fevereiro de 2010, e outro para hotéis renovados 1 de fevereiro de 2010 ou mais tarde. Os valores devem ser listados em ordem sequencial e ascendente para obter os resultados esperados.

"intervalo" é um intervalo inteiro superior a 0 para números, ou minuto, hora, dia, semana, mês, trimestre, ano para valores de data. Por exemplo, "facet=baseRate,intervalo:100" produz baldes baseados em gamas de taxa base de tamanho 100. Se as taxas base forem entre $60 e $600, haverá baldes para 0-100, 100-200, 200-300, 300-400, 400-500 e 500-600. A corda "facet=lastRenovationDate,intervalo:ano" produz um balde para cada ano quando os hotéis foram renovados.

"timeoffset" pode ser definido para ([+-]hh:mm, [+-]hhmm, ou [+-]hh). Se utilizado, o parâmetro de intervalo deve ser combinado com a opção intervalo, e apenas quando aplicado num campo do tipo Edm.DateTimeOffset. O valor especifica a compensação do tempo UTC para contabilizar na definição dos limites de tempo. Por exemplo: "facet=lastRenovationDate,intervalo:dia,timeoffset:-01:00" usa o limite do dia que começa às 01:00:00 UTC (meia-noite no fuso horário alvo).

a contagem e o tipo podem ser combinados na mesma especificação faceta, mas não podem ser combinados com intervalos ou valores, e o intervalo e os valores não podem ser combinados em conjunto.

As facetas de intervalo na hora da data são calculadas com base na hora UTC se não for especificada a compensação do tempo. Por exemplo: para "facet=lastRenovationDate,intervalo:dia", o limite do dia começa às 00:00:00 UTC.
featuresMode (pré-visualização) boolean Opcional. Os valores válidos são "ativados" e "desativados". O padrão é "desativado". Um valor que especifica se os resultados devem incluir características de resultados de consulta, usados para calcular a pontuação de relevância de um documento em relação à consulta, como por altura de semelhança de campo. Utilize "habilitado" para expor mais características de resultados de consulta: por pontuação de semelhança de campo, por frequência de duração de campo, e por número de campo de fichas únicas correspondidas. Para mais informações, consulte a semelhança e a pontuação.
$filter string Opcional. Uma expressão de pesquisa estruturada na sintaxe OData padrão. Só podem ser utilizados campos filtrados num filtro. Quando chamado com POST, este parâmetro é nomeado filtro em vez de $filter. Consulte a sintaxe de expressão OData para Azure Cognitive Search para obter mais informações sobre o subconjunto da gramática de expressão OData que Azure Cognitive Search suporta.
realçar string Opcional. Um conjunto de nomes de campo separados por vírgula usados para os destaques de sucesso. Apenas campos pesmáveis podem ser utilizados para realçar o impacto. Por padrão, Azure Cognitive Search retorna até cinco destaques por campo. O limite é configurável por campo, apecando "-<max # de destaques>" seguindo o nome de campo. Por exemplo, "highlight=title-3,description-10" retorna até três toques destacados do campo do título e até 10 acessos do campo de descrição. O número máximo de destaques deve ser um número inteiro entre 1 e 1000 inclusive.
highlightPostTag string Opcional. Incumprimentos a "</em>". Uma etiqueta de corda que anexa ao termo realçado. Deve ser definido com destaquePreTag. Os caracteres reservados em URL devem ser codificados por cento (por exemplo, %23 em vez de #).
destaquePreTag string Opcional. Incumprimentos a "</em>". Uma etiqueta de corda que se prepara para o termo realçado. Deve ser definido com o HighlightPostTag. Os caracteres reservados em URL devem ser codificados por cento (por exemplo, %23 em vez de #).
mínimosCoveragem número inteiro Opcional. Os valores válidos são um número entre 0 e 100, indicando a percentagem do índice que deve estar disponível para servir a consulta antes de poder ser reportado como um sucesso. Incumprimentos para "100".

Uma cobertura de cem por cento significa que todos os fragmentos responderam ao pedido (nem problemas de saúde de serviço nem atividades de manutenção reduziram a cobertura). Sob a definição predefinida, menos de cobertura completa devolverá o código de estado HTTP 503.

A redução mínima da conservação pode ser útil se ocorrerem 503 erros e pretende aumentar a probabilidade de sucesso de consultas, especialmente para serviços configurados para uma réplica. Se definir o mínimo Desempenhado e A Procura tiver sucesso, devolverá HTTP 200 e incluirá um @search.coverage valor na resposta indicando a percentagem do índice que foi incluído na consulta. Neste cenário, nem todos os documentos correspondentes estão garantidos para estarem presentes nos resultados da pesquisa, mas se a disponibilidade de pesquisa for mais importante do que a recolha, então a redução da cobertura pode ser uma estratégia de mitigação viável.
$orderby string Opcional. Uma lista de expressões separadas por vírgulas para classificar os resultados. Quando chamado com POST, este parâmetro é nomeado orderby em vez de $orderby. Cada expressão pode ser um nome de campo ou uma chamada para a função geo.distance(). Cada expressão pode ser seguida por "asc" para indicar ascendente, e "desc" para indicar descendente. Se houver valores nulos no campo de classificação, os nulos aparecem primeiro em ordem ascendente e por último em ordem descendente. O padrão é a ordem ascendente. Os laços serão quebrados pela correspondência de documentos. Se não for especificado nenhum $orderby, a ordem de classificação padrão está a descer por pontuação de correspondência de documento. Há um limite de 32 cláusulas para $orderby.
querialanguagem (pré-visualização) string Opcional. Valores válidos são uma língua suportada. Incumprimentos para "en-us". Este parâmetro deve ser definido se utilizar soletrar=léxico ou consultaType=semântica. A linguagem especificada em consultaLanguage é usada tanto para verificação ortográfica, como pelos modelos semânticos que reclassificam os resultados e extraem uma legenda ou resposta. As bibliotecas utilizadas para consultas A Língua de Risco é independente de outros atributos de campo baseados em locais, tais como analisadores de idiomas utilizados para indexar e pesquisa de texto completa.
consultaType string Opcional. Os valores válidos são "simples", "completos" ou "semânticos" (pré-visualização). Incumprimentos para "simples".

"simples" interpreta as cordas de consulta utilizando a sintaxe de consulta simples que permite símbolos como +, *e "". As consultas são avaliadas em todos os campos pes pescáveis (ou campos indicados em searchFields) em cada documento por padrão.

"full" interpreta as cordas de consulta utilizando a sintaxe de consulta lucene completa que permite pesquisas específicas do campo e ponderadas. A pesquisa de alcance na língua de consulta Lucene não é suportada a favor de $filter, que oferece funcionalidades semelhantes."

semântica" melhora a precisão dos resultados da pesquisa reclassindo os 50 melhores jogos usando um modelo de ranking treinado no corpo de Bing para consultas expressas em linguagem natural em oposição às palavras-chave. Se definir o tipo de consulta para semântica, também deve definir consultaLanguage e semmanticConfiguration. Pode configurar op opcionalmente respostas se quiser também devolver as 3 melhores respostas se a entrada de consulta foi formulada em linguagem natural ("o que é...), e pode configurar opcionalmente legendas para extrair passagens chave dos documentos mais bem classificados.
pontuaçãoParametro string Opcional. Indica os valores de cada parâmetro definido numa função de pontuação (como referencePointParameter) utilizando o formato "name-value1,value2,..." Quando chamado com POST, este parâmetro é nomeado pontuar Parametros em vez de marcar Parameter. Além disso, especifica-o como uma matriz de cordas JSON onde cada corda é um par de valores de nome separados.

Para marcar perfis que incluam uma função, separe a função da sua lista de entradas com um - personagem. Por exemplo, uma função chamada "mylocation" seria "&pontuarParameter=miolocalização--122.2,44.8". O primeiro traço separa o nome da função da lista de valores, enquanto o segundo traço faz parte do primeiro valor (longitude neste exemplo).

Para marcar parâmetros como para o aumento da etiqueta que pode conter vírgulas, pode escapar a tais valores na lista usando cotações únicas. Se os próprios valores contiverem citações únicas, pode escapar-lhes duplicando. Suponha que tem um parâmetro de reforço de etiquetas chamado "mytag" e que quer aumentar nos valores de tag "Hello, O'Brien" e "Smith", a opção de cadeia de consulta seria então "&pontuarParameter=mytag-'Hello, O'Brien',Smith". As cotações só são necessárias para valores que contenham vírgulas.
pontuaçãoProfile string Opcional. O nome de um perfil de pontuação para avaliar as pontuações de correspondência para os documentos correspondentes de forma a ordenar os resultados.
pontuaçãoStatística string Opcional. Valores válidos são "locais" ou "globais". Incumprimentos para "local". Especificar se calcula estatísticas de pontuação, tais como frequência de documentos, globalmente (em todos os fragmentos) para pontuação mais consistente, ou localmente (no fragmento atual) para uma menor latência. Ver Estatísticas de Pontuação em Azure Cognitive Search. As estatísticas de pontuação serão sempre calculadas localmente para termos que utilizem pesquisa duvidosa ('~').
pesquisar string Opcional. O texto para procurar. Todos os campos pesmáveis são pesquisados por padrão, a menos que o searchFields seja especificado. No índice, o texto num campo pes pescável é tokenizado, pelo que vários termos podem ser separados por espaço branco (por exemplo: 'search=hello world'). Para combinar com qualquer termo, utilize * (isto pode ser útil para consultas de filtro boolean). Omitir este parâmetro tem o mesmo efeito que defini-lo para *. Consulte a sintaxe de consulta simples para obter detalhes sobre a sintaxe de pesquisa.

Os resultados podem, por vezes, ser surpreendentes quando se consultam campos pesjáveis. O tokenizer inclui lógica para lidar com casos comuns ao texto inglês como apóstrofos, vírgulas em números, e assim por diante. Por exemplo, 'search=123.456' corresponderá a um único termo '123.456' em vez dos termos individuais '123' e '456', uma vez que as vírgulas são utilizadas como mil separadores para grandes números em inglês. Por esta razão, recomendamos a utilização do espaço branco em vez da pontuação para separar os termos no parâmetro de pesquisa.
searchMode string Opcional. Valores válidos são "qualquer" ou "todos" Predefinições para "qualquer". Especifica se qualquer ou todos os termos de pesquisa devem ser combinados para contar o documento como uma correspondência.
searchFields string Opcional. A lista de nomes de campo separados por vírgula para procurar o texto especificado. Os campos-alvo devem ser marcados como pesmáveis no esquema de índice.
$select string Opcional. Uma lista de campos separados por vírgulas para incluir no conjunto de resultados. Só os campos marcados como recuperáveis podem ser incluídos nesta cláusula. Se não especificado ou definido para *, todos os campos marcados como recuperáveis no esquema estão incluídos na projeção. Quando chamado com POST, este parâmetro é nomeado selecionar em vez de $select.
conviimento semântico (pré-visualização) string Opcional. Requerido se consultaType="semântica". O nome da configuração semântica que lista quais os campos devem ser usados para classificação semântica, legendas, destaques e respostas. Para mais informações, consulte Criar uma consulta semântica.
sessionId string Opcional. A utilização de sessãoId ajuda a melhorar a consistência da pontuação de relevância para serviços de pesquisa com múltiplas réplicas. Nas configurações multi-réplicas, pode haver pequenas diferenças entre as pontuações de relevância de documentos individuais para a mesma consulta. Quando for fornecido um ID de sessão, o serviço fará o melhor esforço para encaminhar um dado pedido para a mesma réplica para essa sessão. Desconfie de que reutilizar os valores de ID da mesma sessão repetidamente pode interferir no equilíbrio de carga dos pedidos através de réplicas e afetar negativamente o desempenho do serviço de pesquisa. O valor utilizado como sessãoId não pode começar com um caráter '_'. Se um serviço não tiver réplicas, este parâmetro não tem qualquer efeito no desempenho ou na consistência da pontuação.
$skip número inteiro Opcional. O número de resultados de pesquisa a saltar. Quando chamado com POST, este parâmetro é nomeado saltar em vez de $skip. Este valor não pode ser superior a 100.000. Se precisar de digitalizar os documentos em sequência, mas não puder utilizar $skip devido a esta limitação, considere utilizar $orderby num campo que tenha valores únicos para cada documento no índice (como a chave do documento, por exemplo) e $filter com uma consulta de alcance.
soletrador (pré-visualização) String Opcional. Valores válidos são "nenhum" e "léxico". O padrão é "nenhum". Melhore a recuperação corrigindo os termos de consulta individual de pesquisa. Pode usá-lo em consultas simples, completas e semânticas. Se utilizado, o parâmetro do soletrador requer consultaGem. Para obter mais informações e exemplos, consulte adicionar verificação ortográfica a consultas.
$top número inteiro Opcional. O número de resultados de pesquisa para recuperar. Isto é 50. Quando chamado com POST, este parâmetro é nomeado topo em vez de $top. Se especificar um valor superior a 1000 e houver mais de 1000 resultados, apenas os primeiros 1000 resultados serão devolvidos, juntamente com um link para a página seguinte de resultados (ver "@odata.nextLink" no exemplo abaixo).

Azure Cognitive Search usa paging do lado do servidor para evitar que as consultas recuperem demasiados documentos ao mesmo tempo. O tamanho da página predefinido é de 50, enquanto o tamanho máximo da página é de 1000. Isto significa que, por predefinição , os Documentos de Pesquisa retornam no máximo 50 resultados se não especificar $top. Se houver mais de 50 resultados, a resposta inclui informações para recuperar a página seguinte de no máximo 50 resultados (ver "@odata.nextLink" e "@search.nextPageParameters" nos Exemplos abaixo. Da mesma forma, se especificar um valor superior a 1000 para $top e houver mais de 1000 resultados, apenas os primeiros 1000 resultados são devolvidos, juntamente com informações para recuperar a próxima página de no máximo 1000 resultados.

Resposta

Código de Estado: 200 OK é devolvido para uma resposta bem sucedida. Há duas respostas de amostra neste artigo, uma para pesquisa semântica e característicasMode.

Resposta da amostra para consulta semântica

O primeiro exemplo mostra a resposta completa para o resultado mais alto para a consulta semântica "como se formam as nuvens".

  • "@search.respostas" aparece quando especifica o parâmetro de respostas, e quando a consulta e a pesquisa subjacentefields são propícias à produção de uma resposta. A @search.answers matriz que tem uma chave, texto e destaques. A pontuação é um indicador da força da resposta.

  • "Valor" é o corpo da resposta. O @search.rerankerScore é atribuído pelo algoritmo de classificação semântica e é usado para classificar resultados (@search.score é do algoritmo de semelhança BM25, usado ao marcar os resultados iniciais). As legendas incluem texto simples e versões em destaque. Este exemplo foi criado utilizando competências de reconhecimento de OCR e entidades. Os campos para o conteúdo extraído e fundido estão incluídos na resposta.

{
    "@search.answers": [
        {
            "key": "aHR0cHM6Ly9oZWlkaXN0YmxvYnN0b3JhZ2UuYmxvYi5jb3JlLndpbmRvd3MubmV0L25hc2EtZWJvb2stMS01MC9wYWdlLTQ1LnBkZg2",
            "text": "Sunlight heats the land all day, warming that moist air and causing it to rise high into the   atmosphere until it cools and condenses into water droplets. Clouds generally form where air is ascending (over land in this case),   but not where it is descending (over the river).",
            "highlights": "Sunlight heats the land all day, warming that moist air and causing it to rise high into the   atmosphere until it cools and condenses into water droplets. Clouds generally form<em> where air is ascending</em> (over land in this case),   but not where it is<em> descending</em> (over the river).",
            "score": 0.94639826
        }
    ],
    "value": [
        {
            "@search.score": 0.5479723,
            "@search.rerankerScore": 1.0321671911515296,
            "@search.captions": [
                {
                    "text": "Like all clouds, it forms when the air reaches its dew point—the temperature at    which an air mass is cool enough for its water vapor to condense into liquid droplets. This false-color image shows valley fog, which is common in the Pacific Northwest of North America.",
                    "highlights": "Like all<em> clouds</em>, it<em> forms</em> when the air reaches its dew point—the temperature at    which an air mass is cool enough for its water vapor to condense into liquid droplets. This false-color image shows valley<em> fog</em>, which is common in the Pacific Northwest of North America."
                }
            ],
            "content": "\nA\nT\n\nM\nO\n\nS\nP\n\nH\nE\n\nR\nE\n\nE\nA\n\nR\nT\n\nH\n\n34\n\nValley Fog\nCanada\n\nFog is essentially a cloud lying on the ground. Like all clouds, it forms when the air reaches its dew point—the temperature at  \n\nwhich an air mass is cool enough for its water vapor to condense into liquid droplets.\n\nThis false-color image shows valley fog, which is common in the Pacific Northwest of North America. On clear winter nights, the \n\nground and overlying air cool off rapidly, especially at high elevations. Cold air is denser than warm air, and it sinks down into the \n\nvalleys. The moist air in the valleys gets chilled to its dew point, and fog forms. If undisturbed by winds, such fog may persist for \n\ndays. The Terra satellite captured this image of foggy valleys northeast of Vancouver in February 2010.\n\n\n",
            "metadata_storage_path": "aHR0cHM6Ly9oZWlkaXN0YmxvYnN0b3JhZ2UuYmxvYi5jb3JlLndpbmRvd3MubmV0L25hc2EtZWJvb2stMS01MC9wYWdlLTQxLnBkZg2",
            "people": [],
            "locations": [
                "Pacific Northwest",
                "North America",
                "Vancouver"
            ],
            "merged_content": "\nA\nT\n\nM\nO\n\nS\nP\n\nH\nE\n\nR\nE\n\nE\nA\n\nR\nT\n\nH\n\n34\n\nValley Fog\nCanada\n\nFog is essentially a cloud lying on the ground. Like all clouds, it forms when the air reaches its dew point—the temperature at  \n\nwhich an air mass is cool enough for its water vapor to condense into liquid droplets.\n\nThis false-color image shows valley fog, which is common in the Pacific Northwest of North America. On clear winter nights, the \n\nground and overlying air cool off rapidly, especially at high elevations. Cold air is denser than warm air, and it sinks down into the \n\nvalleys. The moist air in the valleys gets chilled to its dew point, and fog forms. If undisturbed by winds, such fog may persist for \n\ndays. The Terra satellite captured this image of foggy valleys northeast of Vancouver in February 2010.\n\n\n",
            "text": [],
            "layoutText": []
        }

Resposta da amostra para funcionalidadesMode

Este exemplo mostra a saída "@search.features" a partir de uma consulta que inclui funcionalidadesMode.

  {
    "@odata.count": # (if $count=true was provided in the query),
    "@search.coverage": # (if minimumCoverage was provided in the query),
    "@search.facets": { (if faceting was specified in the query)
      "facet_field": [
        {
          "value": facet_entry_value (for non-range facets),
          "from": facet_entry_value (for range facets),
          "to": facet_entry_value (for range facets),
          "count": number_of_documents
        }
      ],
      ...
    },
    "@search.nextPageParameters": { (request body to fetch the next page of results if not all results could be returned in this response and Search was called with POST)
      "count": ... (value from request body if present),
      "facets": ... (value from request body if present),
      "featuresMode" : ... (value from request body if present),
      "filter": ... (value from request body if present),
      "highlight": ... (value from request body if present),
      "highlightPreTag": ... (value from request body if present),
      "highlightPostTag": ... (value from request body if present),
      "minimumCoverage": ... (value from request body if present),
      "orderby": ... (value from request body if present),
      "scoringParameters": ... (value from request body if present),
      "scoringProfile": ... (value from request body if present),
      "scoringStatistics": ... (value from request body if present),
      "search": ... (value from request body if present),
      "searchFields": ... (value from request body if present),
      "searchMode": ... (value from request body if present),
      "select": ... (value from request body if present),
      "sessionId" : ... (value from request body if present),
      "skip": ... (page size plus value from request body if present),
      "top": ... (value from request body if present minus page size),
    },
    "value": [
      {
        "@search.score": document_score (if a text query was provided),
        "@search.highlights": {
          field_name: [ subset of text, ... ],
          ...
        },
        "@search.features": {
          "field_name": {
            "uniqueTokenMatches": feature_score,
            "similarityScore": feature_score,
            "termFrequency": feature_score,
          },
          ...
        },
        key_field_name: document_key,
        field_name: field_value (retrievable fields or specified projection),
        ...
      },
      ...
    ],
    "@odata.nextLink": (URL to fetch the next page of results if not all results could be returned in this response; Applies to both GET and POST)
  }

Exemplos

Pode encontrar mais exemplos na Sintaxe de Expressão OData para Azure Cognitive Search.

Exemplo: pesquisa simples

Encontre documentos no índice utilizando uma simples sintaxe de consulta. Esta consulta devolve hotéis onde os campos pes pesjáveis contêm os termos "conforto" e "localização" mas não "motel":

Get /indexes/hotels/docs?search=comfort +location –motel&searchMode=all&api-version=2021-04-30-Preview
POST /indexes/hotels/docs/search?api-version=2021-04-30-Preview
    {  
      "search": "comfort +location -motel",  
      "searchMode": "all"  
    }  

Dica

A utilização de searchMode=all sobreposições é o padrão de searchMode=any, garantindo que -motel significa "E NÃO" em vez de "ou não". Sem searchMode=all, obtém -se "OU NÃO" que expande em vez de restringir os resultados de pesquisa, o que pode ser contraintuitivo para alguns utilizadores.

Exemplo: pesquisa completa de Lucene

Encontre documentos no índice utilizando a sintaxe de consulta de Lucene (ver sintaxe de consulta lucene em Azure Cognitive Search). Esta consulta devolve hotéis onde o campo de categoria contém o termo "orçamento" e todos os campos pes pesjáveis que contêm a frase "recentemente renovado". Os documentos que contêm a frase "recentemente renovado" são classificados mais elevados como resultado do valor de aumento do termo (3)

GET /indexes/hotels/docs?search=Category:budget AND \"recently renovated\"^3&searchMode=all&api-version=2021-04-30-Preview&querytype=full`
POST /indexes/hotels/docs/search?api-version=2021-04-30-Preview
    {  
      "search": "Category:budget AND \"recently renovated\"^3",  
      "queryType": "full",  
      "searchMode": "all"  
}  

Exemplo: pesquisa semântica

Invoque o modelo de classificação semântica com respostas, legendas e conteúdo destacado. A resposta para esta consulta pode ser encontrada na secção anterior.

POST /indexes/hotels/docs/search?api-version=2021-04-30-Preview
{
  "search": "how do clouds form",
  "queryType": "semantic",
  "semanticConfiguration": "my-semantic-config",
  "queryLanguage": "en-us",
  "answers": "extractive",
  "captions": "extractive",
  "count": "true"
}

Exemplo: orderby

Pesse os resultados do índice e da devolução classificados por data em ordem descendente.

GET /indexes/hotels/docs?search=*&$orderby=LastRenovationDate desc&api-version=2021-04-30-Preview
POST /indexes/hotels/docs/search?api-version=2021-04-30-Preview
    {  
      "search": "*",  
      "orderby": "LastRenovationDate desc"
    }  

Exemplo: filtro utilizando uma expressão OData

Recuperar documentos correspondentes a uma expressão de filtro específica:

GET /indexes/hotels/docs?$filter=(Rooms/BaseRate ge 60 and Rooms/BaseRate lt 300) or HotelName eq 'Fancy Stay'&api-version=2021-04-30-Preview
POST /indexes/hotels/docs/search?api-version=2021-04-30-Preview
    {  
      "filter": "(Rooms/BaseRate ge 60 and Rooms/BaseRate lt 300) or HotelName eq 'Fancy Stay'"  
    }  

Exemplo: pesquisa facial

Numa pesquisa facial, procure o índice e recupere as facetas para categorias, classificações, tags, bem como itens com baseRate em gamas específicas.

GET /indexes/hotels/docs?search=*&facet=Category&facet=Rating&facet=Tags&facet=Rooms/BaseRate,values:80|150|220&api-version=2021-04-30-Preview
POST /indexes/hotels/docs/search?api-version=2021-04-30-Preview
    {  
      "search": "test",  
      "facets": [ "Category", "Rating", "Tags", "Rooms/BaseRate,values:80|150|220" ]  
    }  

Note que a última faceta está num sub-campo. As facetas contam o documento-mãe (Hotéis) e não subdocumentos intermédios (Quartos), pelo que a resposta determinará o número de hotéis que têm quartos em cada balde de preço.

Exemplo: Estreitar uma consulta facetada

Utilizando um filtro, reduza o resultado da consulta face anterior depois de o utilizador selecionar a Classificação 3 e a categoria "Motel".

GET /indexes/hotels/docs?search=*&facet=tags&facet=Rooms/BaseRate,values:80|150|220&$filter=Rating eq 3 and Category eq 'Motel'&api-version=2021-04-30-Preview  
POST /indexes/hotels/docs/search?api-version=2021-04-30-Preview 
    {  
      "search": "test",  
      "facets": [ "tags", "Rooms/BaseRate,values:80|150|220" ],  
      "filter": "Rating eq 3 and Category eq 'Motel'"  
    }  

Exemplo: procura facetada com limites em cada categoria

Numa pesquisa facetada, estabeleça um limite superior em termos únicos devolvidos numa consulta. O padrão é 10, mas pode aumentar ou diminuir este valor usando o parâmetro de contagem no atributo faceta. Este exemplo devolve facetas para a cidade, limitada a 5.

GET /indexes/hotels/docs?search=*&facet=Address/City,count:5&api-version=2021-04-30-Preview
POST /indexes/hotels/docs/search?api-version=2021-04-30-Preview
    {  
      "search": "test",  
      "facets": [ "Address/City,count:5" ]  
    }  

Exemplo: pesquisa no terreno

Pesse o índice dentro de campos específicos (por exemplo, um campo de idiomas)

GET /indexes/hotels/docs?search=hôtel&searchFields=Description_fr&api-version=2021-04-30-Preview
POST /indexes/hotels/docs/search?api-version=2021-04-30-Preview
    {  
      "search": "hôtel",  
      "searchFields": "Description_fr"
    }  

Procure o índice em vários campos. Por exemplo, pode armazenar e consultar campos pes pesjáveis em vários idiomas, todos dentro do mesmo índice. Se as descrições em inglês e francês coexistirem no mesmo documento, pode devolver qualquer ou todas nos resultados da consulta:

GET /indexes/hotels/docs?search=hotel&searchFields=Description,Description_fr&api-version=2021-04-30-Preview
POST /indexes/hotels/docs/search?api-version=2021-04-30-Preview
    {  
      "search": "hotel",  
      "searchFields": "Description, Description_fr"
    }  

Só se pode consultar um índice de cada vez. Não crie múltiplos índices para cada idioma, a menos que planeie consultar um de cada vez.

Exemplo: resultados de paging

Obtenha a primeira página de itens (o tamanho da página é 10):

GET /indexes/hotels/docs?search=*&$skip=0&$top=10&api-version=2021-04-30-Preview
POST /indexes/hotels/docs/search?api-version=2021-04-30-Preview
    {  
      "search": "*",  
      "skip": 0,  
      "top": 10  
    }  

Obtenha a segunda página de itens (o tamanho da página é 10):

GET /indexes/hotels/docs?search=*&$skip=10&$top=10&api-version=2021-04-30-Preview
POST /indexes/hotels/docs/search?api-version=2021-04-30-Preview
    {  
      "search": "*",  
      "skip": 10,  
      "top": 10  
    }  

Exemplo: limite de campos num conjunto de resultados

Recuperar um conjunto específico de campos:

GET /indexes/hotels/docs?search=*&$select=HotelName,Description&api-version=2021-04-30-Preview
POST /indexes/hotels/docs/search?api-version=2021-04-30-Preview
    {  
      "search": "*",  
      "select": "HotelName, Description"
    }  

Exemplo: destaque de sucesso nos resultados

Pesse os fragmentos de índice e retorno com destaques de impacto:

GET /indexes/hotels/docs?search=something&highlight=Description&api-version=2021-04-30-Preview
POST /indexes/hotels/docs/search?api-version=2021-04-30-Preview
    {  
      "search": "something",  
      "highlight": "Description"  
    }  

Exemplo: Pesquisa geoespacial

Pesse os documentos de índice e de devolução classificados de mais perto de um local de referência:

GET /indexes/hotels/docs?search=something&$orderby=geo.distance(Location, geography'POINT(-122.12315 47.88121)')&api-version=2021-04-30-Preview
POST /indexes/hotels/docs/search?api-version=2021-04-30-Preview
    {  
      "search": "something",  
      "orderby": "geo.distance(Location, geography'POINT(-122.12315 47.88121)')"
    }  

Exemplo: "find by me" (aumentar a relevância dos locais próximos

Procure o índice assumindo que há um perfil de pontuação chamado "geo" com duas funções de pontuação à distância, um definindo um parâmetro chamado "CurrentLocation" e um definindo um parâmetro chamado "lastLocation":

GET /indexes/hotels/docs?search=something&scoringProfile=geo&scoringParameter=currentLocation--122.123,44.77233&scoringParameter=lastLocation--121.499,44.2113&api-version=2021-04-30-Preview
POST /indexes/hotels/docs/search?api-version=2021-04-30-Preview
    {  
      "search": "something",  
      "scoringProfile": "geo",  
      "scoringParameters": [ "currentLocation--122.123,44.77233", "lastLocation--121.499,44.2113" ]  
    }  

Exemplo: consulta sobre índice completo em vez de fragmentos

Encontre documentos no índice, favorecendo uma pontuação consistente em vez de uma menor latência. Esta consulta calculará as frequências documentais em todo o índice, e fará o melhor esforço para direcionar a mesma réplica para todas as consultas dentro da mesma "sessão", o que ajudará a gerar classificação estável e reprodutível.

GET /indexes/hotels/docs?search=hotel&sessionId=mySessionId&scoringStatistics=global&api-version=2021-04-30-Preview
POST /indexes/hotels/docs/search?api-version=2021-04-30-Preview
    {  
      "search": "hotel",  
      "sessionId": "mySessionId",
      "scoringStatistics" :"global"
    }  

Exemplo: estatísticas de pontuação (característicasMode)

Encontre documentos no índice e devolva uma lista de funcionalidades de recuperação de informação para cada resultado descrevendo a pontuação entre o documento combinado e a consulta. A consulta também calcula frequências de documentos em todo o índice para produzir pontuações mais consistentes.

GET /indexes/hotels/docs?search=hotel&featuresMode=enabled&scoringStatistics=global&api-version=2021-04-30-Preview
POST /indexes/hotels/docs/search?api-version=2021-04-30-Preview
    {  
      "search": "hotel",  
      "featuresMode": "enabled",
      "scoringStatistics" :"global"
    }  

Um exemplo de uma resposta que inclui search.features looks semelhantes aos seguintes:

    "@search.score": 0.91875637,
    "@search.features": {
        "Description": {
            "uniqueTokenMatches": 1,
            "similarityScore": 0.2917966,
            "termFrequency": 2
        },
        "HotelName": {
            "uniqueTokenMatches": 1,
            "similarityScore": 0.44458693,
            "termFrequency": 1
        }
      . . .

Definições

Esta secção fornece detalhes sobre parâmetros demasiado complexos para cobrir na tabela principal.

Ligação Description
queryLanguage Lista das línguas apoiadas para a procura ortográfica e semântica.

queryLanguage

Os valores válidos para o parâmetro de queryLanguage são fornecidos na tabela seguinte, na coluna "queryLanguage", e não são sensíveis a casos. O padrão para o parâmetro como um todo é "en-us". Dentro de cada idioma, há uma variante padrão para cada código linguístico de dois caracteres. Por exemplo, se especificar "es", então "es-us" é usado por padrão. O parâmetro de consultaLanguage é necessário para um pedido de consulta que inclua "queryType=semântica" ou "speller=lexicon". Há apenas um valor de dúvida para todo o pedido, e esse valor será usado para classificação semântica, legendas, respostas e soletrador (não há substituição para características individuais).

Neste momento, o suporte linguístico varia de acordo com a funcionalidade. Apenas inglês, espanhol, francês e alemão são apoiados para o conjunto completo de funcionalidades, mas note que a verificação ortográfica implementa menos variantes.

Se especificar um código linguístico que não seja suportado por uma determinada funcionalidade, como a EN-GB com soletrador, o serviço devolverá HTTP 400.

Para obter mais informações sobre a utilização de cada recurso, consulte Ativar o ranking e legendas semânticas, Devolver uma resposta semântica e adicionar verificação ortográfica às consultas.

A designação "(pré-visualização)" indica que os testes de validação em todas as funcionalidades (ranking semântico, legendas, respostas e verificação ortográfica) estão em curso ou pendentes. Encorajamos a utilização de todas as variantes linguísticas na tabela seguinte, mas recomendamos mais testes de idiomas de pré-visualização para garantir que os resultados são válidos para o seu conteúdo. Os idiomas com uma verificação verde e nenhuma designação de pré-visualização foram validados usando conjuntos de dados equivalentes, com ganhos mensuráveis em relevância.

Linguagem queryLanguage Ranker semântico e legendas Resposta semântica Soletrador
Inglês [pt] en, en-US (padrão), en-GB, en-IN, en-CA, en-AU ✔️ ✔️ ✔️ (en, en-US)
Francês [fr] fr, fr-FR (padrão), fr-CA ✔️ ✔️ ✔️ (fr, fr-FR)
Alemão [de] de, de-DE (padrão) ✔️ ✔️ ✔️ de.de-DE)
Espanhol [es] es, es-ES (padrão), es-MX ✔️ ✔️ ✔️ (es, es-ES)
Italiano [isto] it-IT (padrão) ✔️ ✔️
Japonês [ja] ja, ja-JP (padrão) ✔️ ✔️ (pré-visualização)
Chinês [zh] zh, zh-CN (padrão), zh-TW ✔️ ✔️ (pré-visualização)
Português [pt] pt-BR (padrão), pt-PT ✔️ ✔️ (pré-visualização)
Holandês [nl] nl, nl-BE, nl-NL (padrão) ✔️ (pré-visualização) ✔️ (pré-visualização) ✔️ (nl, nl-NL)
Árabe [ar] ar, ar-SA (padrão), ar-EG, ar-MA. ar-KW, ar-JO ✔️ (pré-visualização) ✔️ (pré-visualização)
Arménio hy-AM (padrão) ✔️ (pré-visualização) ✔️ (pré-visualização)
Bangla bn-IN (padrão) ✔️ (pré-visualização) ✔️ (pré-visualização)
Basco eu-ES (padrão) ✔️ (pré-visualização) ✔️ (pré-visualização)
Búlgaro [bg] bg, bg-BG (padrão) ✔️ (pré-visualização) ✔️ (pré-visualização)
Catalão [ca] ca, ca-ES (padrão) ✔️ (pré-visualização) ✔️ (pré-visualização)
Croata [hr] hr, hr-HR (padrão), hr-BA ✔️ (pré-visualização) ✔️ (pré-visualização)
Checo [cs] cs, cs-CZ (padrão) ✔️ (pré-visualização) ✔️ (pré-visualização)
Dinamarquês [da] da, da-DK (padrão) ✔️ (pré-visualização) ✔️ (pré-visualização)
Estónia [et] et, et-EE (padrão) ✔️ (pré-visualização) ✔️ (pré-visualização)
Finlandês [fi] fi, fi-FI (padrão) ✔️ (pré-visualização) ✔️ (pré-visualização)
Galego gl-ES (padrão) ✔️ (pré-visualização) ✔️ (pré-visualização)
Grego [el] el, el-GR (padrão) ✔️ (pré-visualização) ✔️ (pré-visualização)
Guzerate gu-IN (padrão) ✔️ (pré-visualização) ✔️ (pré-visualização)
Hebraico he-IL (padrão) ✔️ (pré-visualização) ✔️ (pré-visualização)
Hindi [olá] olá, hi-IN (padrão) ✔️ (pré-visualização) ✔️ (pré-visualização)
Húngaro [hu] hu, hu-HU (padrão) ✔️ (pré-visualização) ✔️ (pré-visualização)
Islandês [é] é, is-IS (padrão) ✔️ (pré-visualização) ✔️ (pré-visualização)
Indonésio [id] id, id-ID (padrão) ✔️ (pré-visualização) ✔️ (pré-visualização)
Irlandês ga-IE (padrão) ✔️ (pré-visualização) ✔️ (pré-visualização)
Canarês kn-IN (padrão) ✔️ (pré-visualização) ✔️ (pré-visualização)
Coreano [ko] ko, ko-KR (padrão) ✔️ (pré-visualização) ✔️ (pré-visualização)
Letão [lv] lv, lv-LV (padrão) ✔️ (pré-visualização) ✔️ (pré-visualização)
Lituano [lt] Lt,LT (padrão) ✔️ (pré-visualização) ✔️ (pré-visualização)
Malaiala ml-IN (padrão) ✔️ (pré-visualização) ✔️ (pré-visualização)
Malásia [ms] ms-MY (padrão), MS-BN ✔️ (pré-visualização) ✔️ (pré-visualização)
Marata mr-IN (padrão) ✔️ (pré-visualização) ✔️ (pré-visualização)
Norueguês [não] não, não-NÃO (padrão), nb-NO ✔️ (pré-visualização) ✔️ (pré-visualização)
Persa fa-AE (padrão) ✔️ (pré-visualização) ✔️ (pré-visualização)
Polaco [pl] pl, pl-PL (padrão) ✔️ (pré-visualização) ✔️ (pré-visualização)
Punjabi pa-IN (padrão) ✔️ (pré-visualização) ✔️ (pré-visualização)
Romeno [ro] ro, ro-RO (padrão) ✔️ (pré-visualização) ✔️ (pré-visualização)
Russo [ru] ru, ru-RU (padrão) ✔️ (pré-visualização) ✔️ (pré-visualização)
Sérvio [sr] (cirílico ou latim) sr,sr-BA (padrão), sr-ME, sr-RS ✔️ (pré-visualização) ✔️ (pré-visualização)
Eslovaco [sk] sk, sk-SK (padrão) ✔️ (pré-visualização) ✔️ (pré-visualização)
Esloveno [sl] sl, sl-SL (padrão) ✔️ (pré-visualização) ✔️ (pré-visualização)
Tamil [ta] ta,ta-IN (padrão) ✔️ (pré-visualização) ✔️ (pré-visualização)
Sueco [sv] sv, sv-SE (padrão) ✔️ (pré-visualização) ✔️ (pré-visualização)
Telugu te-IN (padrão) ✔️ (pré-visualização) ✔️ (pré-visualização)
Tailandês [th] th, th-TH (padrão) ✔️ (pré-visualização) ✔️ (pré-visualização)
Turco [tr] tr, tr-TR (padrão) ✔️ (pré-visualização) ✔️ (pré-visualização)
Ucraniano [Reino Unido] reino unido, reino Unido-UA (padrão) ✔️ (pré-visualização) ✔️ (pré-visualização)
Urdu o seu PK (padrão) ✔️ (pré-visualização) ✔️ (pré-visualização)
Vietnamita [va] va, vi-VN (padrão) ✔️ (pré-visualização) ✔️ (pré-visualização)

Ver também