Esta página describe el comportamiento de versión 3 índices de texto.
Insensibilidad a las mayúsculas y minúsculas
Los índices de texto no distinguen entre mayúsculas y minúsculas. El índice de texto no distingue entre caracteres en mayúscula y minúscula, como e y E.
Los índices de texto admiten agrupaciones por mayúsculas y minúsculas como se especifica en Unicode 8.0 Plegado de mayúsculas y minúsculas en la base de datos de caracteres:
C común
Simple S
T especial para lenguajes turcos
Caracteres con diacríticos, como
éyÉCaracteres de alfabetos no latinos, como
Иyиen el alfabeto cirílico.
Las versiones anteriores del índice de texto solo distinguen entre mayúsculas y minúsculas para los caracteres latinos sin diacríticos [A-z]. Las versiones previas de índices de texto tratan todos los demás caracteres como distintos.
Insensibilidad a los diacríticos
Los índices de texto son insensibles a los signos diacríticos. El índice de texto no distingue entre caracteres que contienen signos diacríticos y sus contrapartes sin marcas, como é, ê y e. Más específicamente, el índice de texto elimina las marcas categorizadas como diacríticos en la Lista de Propiedades de la base de datos de Caracteres Unicode 8.0 .
Las versiones anteriores del índice de texto tratan los caracteres con signos diacríticos como distintos.
Delimitadores de tokenización
Para la tokenización, los índices de texto utilizan los delimitadores categorizados bajo Dash, Hyphen, Pattern_Syntax, Quotation_Mark, Terminal_Punctuation y White_Space en la Lista Prop de la base de datos de caracteres Unicode 8.0 .
Por ejemplo, en la string Il a dit qu'il «était le meilleur joueur du
monde», las comillas («, ») y los espacios son delimitadores.
Versiones anteriores del índice tratan « como parte del término «était y » como parte del término monde».
entrada de índice
Los índices de texto tokenizan y derivan los términos en los campos indexados para las entradas del índice. El índice utiliza una derivación de sufijos simple específica del lenguaje. Para cada documento en la colección, el índice de texto almacena una entrada de índice para cada término con raíz única en cada campo indexado.
Lenguajes admitidos y palabras vacías
MongoDB soporta la búsqueda de texto para varios idiomas. Los índices de texto usan un algoritmo simple de truncamiento de sufijos propio de cada lenguaje. Los índices de texto también descartan las palabras vacías específicas del lenguaje, como the, an, a y and en inglés. Para obtener una lista de los idiomas compatibles, consulte Idiomas de búsqueda de texto en implementaciones autogestionadas.
Para especificar un lenguaje para el índice de texto, consulta Especifica el lenguaje para índices de texto en MongoDB autogestionado.
Propiedad dispersa
Los índices de texto siempre son dispersos. Cuando creas un índice de texto, MongoDB ignora la opción sparse.
Si un documento existente o recién insertado no tiene un campo de índice de texto (o el campo es nulo o un arreglo vacío), MongoDB no agrega una entrada de índice de texto para el documento.
Obtén más información
Para aprender sobre las restricciones de índices de texto, consulta Versiones de índices de texto en implementaciones autogestionadas.