Adicionar analisadores de idioma a campos de cadeia de caracteres em um índice de Pesquisa Cognitiva do AzureAdd language analyzers to string fields in an Azure Cognitive Search index

Um analisador de idioma é um tipo específico de analisador de texto que executa a análise léxica usando as regras linguísticas do idioma de destino.A language analyzer is a specific type of text analyzer that performs lexical analysis using the linguistic rules of the target language. Cada campo pesquisável tem uma propriedade analyzer.Every searchable field has an analyzer property. Se o índice contém cadeias de caracteres traduzidas, tais como campos separados para texto em inglês e em chinês, você pode especificar analisadores de idioma em cada campo para acessar funcionalidades linguísticas avançados desses analisadores.If your index contains translated strings, such as separate fields for English and Chinese text, you could specify language analyzers on each field to access the rich linguistic capabilities of those analyzers.

O Azure Pesquisa Cognitiva dá suporte a analisadores 35 apoiados por Lucene e 50 analisadores apoiados por tecnologia proprietária de processamento de linguagem natural da Microsoft usada no Office e no Bing.Azure Cognitive Search supports 35 analyzers backed by Lucene, and 50 analyzers backed by proprietary Microsoft natural language processing technology used in Office and Bing.

Comparar analisadoresComparing analyzers

Alguns desenvolvedores talvez prefiram a solução mais familiar, simples e aberta da Lucene.Some developers might prefer the more familiar, simple, open-source solution of Lucene. Os analisadores de idioma da Lucene são mais rápidos, mas os analisadores da Microsoft têm recursos avançados, como derivação, decomposição de palavras (em idiomas como alemão, dinamarquês, holandês, sueco, norueguês, estoniano, finlandês, húngaro, eslovaco) e reconhecimento de entidade (URLs, emails, datas, números).Lucene language analyzers are faster, but the Microsoft analyzers have advanced capabilities, such as lemmatization, word decompounding (in languages like German, Danish, Dutch, Swedish, Norwegian, Estonian, Finish, Hungarian, Slovak) and entity recognition (URLs, emails, dates, numbers). Se possível, você deve executar comparações entre os analisadores da Microsoft e da Lucene para decidir qual é a melhor opção.If possible, you should run comparisons of both the Microsoft and Lucene analyzers to decide which one is a better fit.

A indexação com analisadores da Microsoft é, em média, de duas a três vezes mais lenta do que seus equivalentes da Lucene, dependendo do idioma.Indexing with Microsoft analyzers is on average two to three times slower than their Lucene equivalents, depending on the language. O desempenho da pesquisa não dever significativamente afetado para consultas de tamanho médio.Search performance should not be significantly affected for average size queries.

Analisadores em inglêsEnglish analyzers

O analisador padrão é Lucene Standard, que funciona bem para o inglês, mas talvez não tão bem quanto o analisador de inglês da Lucene ou o analisador de inglês da Microsoft.The default analyzer is Standard Lucene, which works well for English, but perhaps not as well as Lucene's English analyzer or Microsoft's English analyzer.

  • O analisador de inglês da Lucene amplia o analisador padrão.Lucene's English analyzer extends the standard analyzer. Ele remove possessivos (apóstrofos à direita) de palavras, aplica a lematização conforme o algoritmo de lematização de Porter e remove as palavras irrelevantes do inglês.It removes possessives (trailing 's) from words, applies stemming as per Porter Stemming algorithm, and removes English stop words.

  • O analisador de inglês da Microsoft executa a derivação em vez da lematização.Microsoft's English analyzer performs lemmatization instead of stemming. Isso significa que ele pode tratar muito melhor as formas irregulares e inflexivas de palavras, o que gera resultados da pesquisa mais relevantesThis means it can handle inflected and irregular word forms much better what results in more relevant search results

Configurar analisadoresConfiguring analyzers

Os analisadores de idiomas são usados no estado em que se encontram.Language analyzers are used as-is. Para cada campo na definição do índice, você pode definir a propriedade analyzer para um nome de analisador que especifica a pilha de idiomas e linguística (Microsoft ou Lucene).For each field in the index definition, you can set the analyzer property to an analyzer name that specifies the language and linguistics stack (Microsoft or Lucene). O mesmo analisador será aplicado durante a indexação e a pesquisa desse campo.The same analyzer will be applied when indexing and searching for that field. Por exemplo, você pode ter campos separados para descrições de hotéis em inglês, francês e espanhol, existentes lado a lado no mesmo índice.For example, you can have separate fields for English, French, and Spanish hotel descriptions that exist side by side in the same index. Como alternativa, em vez do analyzer, você pode usar o indexAnalyzer e o searchAnalyzer para ter regras de análises diferentes no tempo de consulta e de indexação.Alternatively, instead of analyzer, you can use indexAnalyzer and searchAnalyzer to have different analysis rules at indexing time and query time.

Use o parâmetro de consulta searchFields para descrever qual campo específico a um idioma pesquisar em suas consultas.Use the searchFields query parameter to specify which language-specific field to search against in your queries. Você pode examinar os exemplos de consultas que incluem a propriedade analisador em Pesquisar Documentos.You can review query examples that include the analyzer property in Search Documents.

Para obter mais informações sobre propriedades de índice, consulte criar índice (Azure pesquisa cognitiva)API REST.For more information about index properties, see Create Index (Azure Cognitive Search REST API). Para obter mais informações sobre a análise no Azure Pesquisa Cognitiva, consulte analisadores no azure pesquisa cognitiva.For more information about analysis in Azure Cognitive Search, see Analyzers in Azure Cognitive Search.

Lista de analisador de idiomaLanguage analyzer list

Veja abaixo uma lista de idiomas com suporte juntamente com nomes de analisador da Lucene e da Microsoft.Below is the list of supported languages together with Lucene and Microsoft analyzer names.

idiomaLanguage Nome do analisador da MicrosoftMicrosoft Analyzer Name Nome do analisador da LuceneLucene Analyzer Name
ÁrabeArabic ar.microsoftar.microsoft ar.lucenear.lucene
ArmêniaArmenian hy.Lucenehy.lucene
BanglaBangla bn.microsoftbn.microsoft
BascoBasque Eu.Luceneeu.lucene
BúlgaroBulgarian bg.microsoftbg.microsoft BG.Lucenebg.lucene
CatalãoCatalan ca.microsoftca.microsoft CA.Luceneca.lucene
Chinês (simplificado)Chinese Simplified zh-Hans.microsoftzh-Hans.microsoft zh-Hans.lucenezh-Hans.lucene
Chinês (tradicional)Chinese Traditional zh-Hant.microsoftzh-Hant.microsoft zh-Hant.lucenezh-Hant.lucene
CroataCroatian hr.microsofthr.microsoft
TchecoCzech cs.microsoftcs.microsoft cs.lucenecs.lucene
DinamarquêsDanish da.Microsoftda.microsoft da.luceneda.lucene
HolandêsDutch nl.microsoftnl.microsoft nl.lucenenl.lucene
InglêsEnglish en.Microsoften.microsoft en.luceneen.lucene
EstonianoEstonian et.microsoftet.microsoft
FinlandêsFinnish fi.microsoftfi.microsoft fi.lucenefi.lucene
FrancêsFrench fr.microsoftfr.microsoft fr.lucenefr.lucene
GalegoGalician GL.Lucenegl.lucene
AlemãoGerman de.microsoftde.microsoft de.lucenede.lucene
GregoGreek el.microsoftel.microsoft el.luceneel.lucene
GuzerateGujarati gu.microsoftgu.microsoft
HebraicoHebrew he.microsofthe.microsoft
HíndiHindi hi.microsofthi.microsoft hi.lucenehi.lucene
HúngaroHungarian hu.Microsofthu.microsoft hu.lucenehu.lucene
IslandêsIcelandic is.microsoftis.microsoft
Indonésio (Bahasa)Indonesian (Bahasa) id.microsoftid.microsoft id.luceneid.lucene
IrlandêsIrish GA.Lucenega.lucene
ItalianoItalian it.microsoftit.microsoft it.luceneit.lucene
JaponêsJapanese ja.microsoftja.microsoft ja.luceneja.lucene
CanarimKannada kn.microsoftkn.microsoft
CoreanoKorean ko.Microsoftko.microsoft ko.luceneko.lucene
LetãoLatvian lv.microsoftlv.microsoft lv.lucenelv.lucene
LituanoLithuanian lt.microsoftlt.microsoft
MalaialaMalayalam ml.microsoftml.microsoft
Malaio (latino)Malay (Latin) ms.microsoftms.microsoft
MaratiMarathi mr.microsoftmr.microsoft
NorueguêsNorwegian nb.microsoftnb.microsoft no.luceneno.lucene
PersaPersian FA.Lucenefa.lucene
PolonêsPolish pl.Microsoftpl.microsoft pl.lucenepl.lucene
Português (Brasil)Portuguese (Brazil) pt-Br.microsoftpt-Br.microsoft pt-Br.lucenept-Br.lucene
Português (Portugal)Portuguese (Portugal) pt-Pt.microsoftpt-Pt.microsoft pt-Pt.lucenept-Pt.lucene
PanjabiPunjabi pa.microsoftpa.microsoft
RomenoRomanian ro.microsoftro.microsoft ro.lucenero.lucene
RussoRussian ru.microsoftru.microsoft ru.luceneru.lucene
Sérvio (cirílico)Serbian (Cyrillic) sr-cyrillic.microsoftsr-cyrillic.microsoft
Sérvio (latino)Serbian (Latin) sr-latin.microsoftsr-latin.microsoft
EslovacoSlovak sk.microsoftsk.microsoft
EslovenoSlovenian sl.microsoftsl.microsoft
EspanholSpanish es.microsoftes.microsoft es.lucenees.lucene
SuecoSwedish sv.microsoftsv.microsoft sv.lucenesv.lucene
TâmilTamil ta.microsoftta.microsoft
TélugoTelugu te.microsoftte.microsoft
TailandêsThai th.microsoftth.microsoft th.luceneth.lucene
TurcoTurkish tr.microsofttr.microsoft tr.lucenetr.lucene
UcranianoUkrainian uk.microsoftuk.microsoft
UrduUrdu ur.microsoftur.microsoft
VietnamitaVietnamese vi.microsoftvi.microsoft

Todos os analisadores com nomes anotados com Lucene são da plataforma de analisadores de idioma do Apache Lucene.All analyzers with names annotated with Lucene are powered by Apache Lucene's language analyzers.

Consulte tambémSee also