Incorporación de analizadores de idiomas a un índice de Azure SearchAdd language analyzers to an Azure Search index

Un analizador de idiomas es un componente específico de un analizador de texto que realiza un análisis léxico mediante las reglas lingüísticas del 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 de búsqueda tiene una propiedad analyzer.Every searchable field has an analyzer property. Si el índice contiene cadenas traducidas, como campos independientes para texto en inglés y en chino, puede especificar los analizadores de idiomas en cada campo para acceder a las funcionalidades lingüísticas enriquecidas de esos analizadores.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.

Azure Search admite 35 analizadores respaldados por la tecnología de Lucene y 50 analizadores respaldados por la tecnología de procesamiento de lenguaje natural de Microsoft que se usa en Office y Bing.Azure Search supports 35 analyzers backed by Lucene, and 50 analyzers backed by proprietary Microsoft natural language processing technology used in Office and Bing.

Comparación de analizadoresComparing analyzers

Es posible que algunos desarrolladores prefieran la solución más familiar, simple y de código abierto de Lucene.Some developers might prefer the more familiar, simple, open-source solution of Lucene. Los analizadores de idiomas de Lucene son más rápidos, pero los analizadores de Microsoft disponen de capacidades avanzadas, como la lematización, la descomposición de palabras (en idiomas como el alemán, danés, neerlandés, sueco, noruego, estonio, finés, húngaro, eslovaco) y el reconocimiento de entidades (direcciones URL, correos electrónicos, fechas y 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). Si es posible, debe ejecutar las comparaciones de los analizadores de Microsoft y Lucene para decidir cuál es la que se ajusta mejor.If possible, you should run comparisons of both the Microsoft and Lucene analyzers to decide which one is a better fit.

La indexación con analizadores de Microsoft es entre dos y tres veces más lenta de media que sus equivalentes de Lucene en función del idioma.Indexing with Microsoft analyzers is on average two to three times slower than their Lucene equivalents, depending on the language. El rendimiento de la búsqueda no debería verse afectado significativamente en las consultas de tamaño medio.Search performance should not be significantly affected for average size queries.

Analizadores de inglésEnglish analyzers

El analizador predeterminado es Standard Lucene, que funciona bien con el inglés, pero quizás no tan bien como el analizador de inglés de Lucene o el analizador de inglés de 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.

  • El analizador de inglés de Lucene amplía el analizador estándar.Lucene's English analyzer extends the standard analyzer. Elimina los posesivos (los "'s" finales) de las palabras, aplica la lematización conforme al Algoritmo de lematización Porter y elimina las palabras no significativas del inglés.It removes possessives (trailing 's) from words, applies stemming as per Porter Stemming algorithm, and removes English stop words.

  • El analizador de inglés de Microsoft utiliza lemas en lugar de lexemas.Microsoft's English analyzer performs lemmatization instead of stemming. Esto significa que puede controlar mucho mejor formas de palabras derivadas e irregulares, lo que da como resultado unos resultados de búsqueda más pertinentesThis means it can handle inflected and irregular word forms much better what results in more relevant search results

Configuración de analizadoresConfiguring analyzers

Los analizadores de lenguaje se usan tal cual.Language analyzers are used as-is. Para cada campo de la definición del índice, puede establecer la propiedad analyzer en un nombre de analizador que especifique el idioma y el proveedor (Microsoft o 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). Se aplicará el mismo analizador durante la búsqueda e indización de ese campo.The same analyzer will be applied when indexing and searching for that field. Por ejemplo, puede tener campos separados para descripciones de hoteles en inglés, francés y español que existen en paralelo dentro del mismo í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, en lugar de analyzer, puede usar indexAnalyzer y searchAnalyzer a fin de tener reglas de análisis distintas en el momento de la indización y de la consulta.Alternatively, instead of analyzer, you can use indexAnalyzer and searchAnalyzer to have different analysis rules at indexing time and query time.

Use el parámetro de consulta searchFields para especificar qué campo concreto del lenguaje buscar en las consultas.Use the searchFields query parameter to specify which language-specific field to search against in your queries. Puede revisar ejemplos de consultas que incluyan la propiedad analyzer en Buscar documentos.You can review query examples that include the analyzer property in Search Documents.

Para más información sobre las propiedades del índice, consulte Create Index (Azure Search Service REST API) (Creación de un índice [API REST de Azure Search Service]).For more information about index properties, see Create Index (Azure Search Service REST API). Para más información sobre el análisis en Azure Search, consulte Analizadores de Azure Search.For more information about analysis in Azure Search, see Analyzers in Azure Search.

Lista de analizadores de idiomaLanguage analyzer list

A continuación se muestra la lista de idiomas admitidos y los nombres de analizadores Lucene y Microsoft.Below is the list of supported languages together with Lucene and Microsoft analyzer names.

IdiomaLanguage Nombre del analizador de MicrosoftMicrosoft Analyzer Name Nombre del analizador de LuceneLucene Analyzer Name
ÁrabeArabic ar.microsoftar.microsoft ar.lucenear.lucene
ArmenioArmenian hy.lucenehy.lucene
BanglaBangla bn.microsoftbn.microsoft
VascoBasque eu.Luceneeu.lucene
BúlgaroBulgarian bg.microsoftbg.microsoft bg.lucenebg.lucene
CatalánCatalan ca.microsoftca.microsoft ca.luceneca.lucene
Chino simplificadoChinese Simplified zh-Hans.microsoftzh-Hans.microsoft zh-Hans.lucenezh-Hans.lucene
Chino tradicionalChinese Traditional zh-Hant.microsoftzh-Hant.microsoft zh-Hant.lucenezh-Hant.lucene
CroataCroatian hr.microsofthr.microsoft
ChecoCzech cs.microsoftcs.microsoft cs.lucenecs.lucene
DanésDanish da.microsoftda.microsoft da.luceneda.lucene
NeerlandésDutch nl.microsoftnl.microsoft nl.lucenenl.lucene
EnglishEnglish en.microsoften.microsoft en.luceneen.lucene
EstonioEstonian et.microsoftet.microsoft
FinésFinnish fi.microsoftfi.microsoft fi.lucenefi.lucene
FrancésFrench fr.microsoftfr.microsoft fr.lucenefr.lucene
GallegoGalician gl.lucenegl.lucene
AlemánGerman de.microsoftde.microsoft de.lucenede.lucene
GriegoGreek el.microsoftel.microsoft el.luceneel.lucene
GujaratiGujarati gu.microsoftgu.microsoft
HebreoHebrew he.microsofthe.microsoft
HindiHindi hi.microsofthi.microsoft hi.lucenehi.lucene
HúngaroHungarian hu.microsofthu.microsoft hu.lucenehu.lucene
IslandésIcelandic is.microsoftis.microsoft
Indonesio (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
CanarésKannada kn.microsoftkn.microsoft
CoreanoKorean ko.Microsoftko.microsoft ko.luceneko.lucene
LetónLatvian lv.microsoftlv.microsoft lv.lucenelv.lucene
LituanoLithuanian lt.microsoftlt.microsoft
MalayalamMalayalam ml.microsoftml.microsoft
Malayo (latino)Malay (Latin) ms.microsoftms.microsoft
MaratíMarathi mr.microsoftmr.microsoft
NoruegoNorwegian nb.microsoftnb.microsoft no.luceneno.lucene
PersaPersian fa.lucenefa.lucene
PolacoPolish 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
PunjabiPunjabi pa.microsoftpa.microsoft
RumanoRomanian ro.microsoftro.microsoft ro.lucenero.lucene
RusoRussian ru.microsoftru.microsoft ru.luceneru.lucene
Serbio (cirílico)Serbian (Cyrillic) sr-cyrillic.microsoftsr-cyrillic.microsoft
Serbio (latino)Serbian (Latin) sr-latin.microsoftsr-latin.microsoft
EslovacoSlovak sk.microsoftsk.microsoft
EslovenoSlovenian sl.microsoftsl.microsoft
EspañolSpanish es.Microsoftes.microsoft es.lucenees.lucene
SuecoSwedish sv.microsoftsv.microsoft sv.lucenesv.lucene
TamilTamil ta.microsoftta.microsoft
TeluguTelugu 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 los analizadores con nombres anotados con lucene disponen de la tecnología de analizadores de idioma de Apache Lucene.All analyzers with names annotated with Lucene are powered by Apache Lucene's language analyzers.

Otras referenciasSee also

Create Index (Azure Search Service REST API) (Creación de un índice [API REST de Azure Search Service])Create Index (Azure Search Service REST API)
Clase AnalyzerNameAnalyzerName Class
Vídeo: Módulo 7 de la presentación MVA de Azure Search.Video: module 7 of Azure Search MVA presentation.