Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
MongoDB Branding Shape
Click here >
Docs Menu

Analizador estándar

El analizador standard es el valor por defecto para todos los índices y consultas de MongoDB Search. Divide el texto en términos según los límites de las palabras, lo que lo hace neutral en cuanto al lenguaje para la mayoría de los casos de uso. Convierte todos los términos a minúsculas y elimina los signos de puntuación. Ofrece una tokenización basada en la gramática que reconoce direcciones de correo electrónico, acrónimos, caracteres chinos-japoneses-coreanos, caracteres alfanuméricos y más.

Si seleccionas Refine Your Index, la interfaz de usuario de Atlas muestra una sección titulada View text analysis of your selected index configuration dentro de la sección Index Configurations. Si amplía esta sección, la Interfaz de Usuario de Atlas muestra el índice y los tokens de búsqueda que el analizador standard genera para cada string de muestra. Puede ver los tokens que el analizador standard crea para un documento de muestra incorporado y un string del query cuando crea o edita un índice en la Interfaz de Usuario de Atlas Visual Editor.

Importante

MongoDB Search no indexará los campos de string en los que los tokens del analizador superen los 32766 bytes de tamaño. Si se utiliza el analizador de keywords, los campos de string que superen los 32766 bytes no se indexarán.

El siguiente ejemplo de definición de índice especifica un índice en el campo title de la colección sample_mflix.movies utilizando el analizador standard. Para seguir este ejemplo, cargue los datos de muestra en su clúster y utilice mongosh o navegue hasta la página Create a Search Index en la Interfaz de Usuario de Atlas siguiendo los pasos del tutorial Crear un índice de búsqueda de MongoDB.

Luego, utilizando la colección movies como fuente de datos, sigue el procedimiento del ejemplo para crear un índice desde mongosh o la interfaz de usuario de Atlas Visual Editor o JSON editor.


➤ Utiliza el menú desplegable Seleccionar el lenguaje para establecer la interfaz del ejemplo en esta página.


  1. Se debe hacer clic en Refine Your Index para configurar el índice.

  2. En la sección Index Configurations, cambie Dynamic Mapping a off.

  3. En la sección Field Mappings, haz clic en Add Field Mapping para abrir la ventana Add Field Mapping.

  4. Haga clic en Customized Configuration.

  5. Selecciona title del menú desplegable Field Name.

  6. Haz clic en el menú desplegable Data Type y selecciona String si aún no está seleccionado.

  7. Expande String Properties y realiza los siguientes cambios:

    Analizador de índices

    Selecciona lucene.standard del menú desplegable si aún no está seleccionado.

    Analizador de búsqueda

    Selecciona lucene.standard del menú desplegable si aún no está seleccionado.

    Opciones del índice

    Usa el offsets por defecto.

    Store

    Usa el true por defecto.

    Ignorar lo anterior

    Mantén la configuración por defecto.

    Normas

    Usa el include por defecto.

  8. Haga clic en Add.

  9. Haga clic en Save Changes.

  10. Haga clic en Create Search Index.

  1. Reemplazar la definición predeterminada del índice con la siguiente definición del índice.

    {
    "mappings": {
    "fields": {
    "title": {
    "type": "string",
    "analyzer": "lucene.standard"
    }
    }
    }
    }
  2. Haga clic en Next.

  3. Haga clic en Create Search Index.

1db.movies.createSearchIndex(
2 "default",
3 {
4 "mappings": {
5 "fields": {
6 "title": {
7 "type": "string",
8 "analyzer": "lucene.standard"
9 }
10 }
11 }
12 }
13)

La siguiente consulta busca el término action en el campo title y limita la salida a dos resultados.

  1. Haz clic en el botón Query para tu índice.

  2. Haz clic en Edit Query para editar la consulta.

  3. Haz clic en la barra de query y selecciona la base de datos y la colección.

  4. Reemplaza la consulta por defecto por la siguiente y haz clic en Find:

    [
    {
    "$search": {
    "text": {
    "query": "action",
    "path": "title"
    }
    }
    }
    ]
    SCORE: 4.001246452331543 _id: "573a1398f29313caabceac7f"
    awards: Object
    cast: Array (4)
    countries: Array (1)
    directors: Array (1)
    fullplot: "Jericho "Action" Jackson is a Detroit police sergeant who was demoted …"
    genres: Array (3)
    imdb: Object
    languages: Array (1)
    lastupdated: "2015-08-20 00:24:08.470000000"
    num_mflix_comments: 2
    plot: "Vengence drives a tough Detroit cop to stay on the trail of a power hu…"
    poster: "https://m.media-amazon.com/images/M/MV5BZWFhNmI3OWQtOTU5Zi00ODA3LWExNj…"
    rated: "R"
    released: 1988-02-12T00:00:00.000+00:00
    runtime: 96
    title: "Action Jackson"
    tomatoes: Object
    type: "movie"
    writers: Array (1)
    year: 1988
    SCORE: 4.001246452331543 _id: "573a1399f29313caabcec6b7"
    awards: Object
    cast: Array (4)
    countries: Array (1)
    directors: Array (1)
    fullplot: "Jeb Ward is an attorney who specializes in whistle blower, David vs. Goliath cases. When a major auto manufacturer is accused of knowingly marketing a defective car, Ward takes on the case, risking everything."
    genres: Array (2)
    imdb: Object
    languages: Array (1)
    lastupdated: "2015-09-06 00:42:51.167000000"
    metacritic: 58
    num_mflix_comments: 2
    plot: "Jeb Ward is an attorney who specializes in whistle blower, David vs. Goliath cases."
    poster: "https://m.media-amazon.com/images/M/MV5BNWY5Mjk4ZmItMTAzYS00NWE3LWEzYz…"
    rated: "R"
    released: 1991-03-15T00:00:00.000+00:00
    runtime: 110
    title: "Class Action"
    tomatoes: Object
    type: "movie"
    writers: Array (3)
    year: 1991
    SCORE: 4.001246452331543 _id: "573a13b0f29313caabd333e7"
    awards: Object
    cast: Array (4)
    countries: Array (2)
    directors: Array (1)
    fullplot: "Vishi is a local goon who basically likes beating up people to get his way. He falls in love with Khushi, but his life takes a turn when he crosses paths with a ruthless mafia kingpin."
    genres: Array (3)
    imdb: Object
    languages: Array (1)
    lastupdated: "2015-09-10 17:20:55.697000000"
    num_mflix_comments: 1
    plot: "In order to escape crime and clutches of a ruthless mafia, a Bangkok based goon seeks help from his lookalike, a Mumbai based criminal."
    released: 2014-12-05T00:00:00.000+00:00
    runtime: 144
    title: "Action Jackson"
    tomatoes: Object
    type: "movie"
    writers: Array (3)
    year: 2014
    SCORE: 4.001246452331543 _id: "573a13d2f29313caabd913dc"
    awards: Object
    countries: Array (1)
    directors: Array (1)
    genres: Array (2)
    imdb: Object
    languages: Array (1)
    lastupdated: "2015-06-15 03:15:33.967000000"
    num_mflix_comments: 0
    released: 2011-01-28T00:00:00.000+00:00
    runtime: 45
    title: "Slow Action"
    tomatoes: Object
    type: "movie"
    writers: Array (1)
    year: 2011
    SCORE: 3.440462112426758 _id: "573a1399f29313caabcedcb0"
    awards: Object
    cast: Array (4)
    countries: Array (1)
    directors: Array (1)
    fullplot: "Young Danny Madigan is a big fan of Jack Slater, a larger-than-life action hero. When Danny is given a magic ticket, he is transported into Slater's latest adventure."
    genres: Array (3)
    imdb: Object
    languages: Array (1)
    lastupdated: "2015-08-31 00:11:25.920000000"
    metacritic: 44
    num_mflix_comments: 0
    plot: "With the help of a magic ticket, a young film fan is transported into the fictional world of his favorite action movie character."
    poster: "https://m.media-amazon.com/images/M/MV5BNjdhOGY1OTktYWJkZC00OGY5LWJhY2…"
    rated: "PG-13"
    released: 1993-06-18T00:00:00.000+00:00
    runtime: 130
    title: "Last Action Hero"
    tomatoes: Object
    type: "movie"
    writers: Array (4)
    year: 1993
    SCORE: 3.440462112426758 _id: "573a139af29313caabcf0e84"
    awards: Object
    cast: Array (4)
    countries: Array (1)
    directors: Array (1)
    fullplot: "Jan Schlichtmann, a tenacious lawyer, is addressed by a group of families whose children have died from leukemia. He takes on a case against two large companies accused of dumping toxic waste."
    genres: Array (1)
    imdb: Object
    languages: Array (1)
    lastupdated: "2015-09-07 00:21:34.950000000"
    metacritic: 68
    num_mflix_comments: 0
    plot: "The families of children who died sue two companies for dumping toxic waste."
    poster: "https://m.media-amazon.com/images/M/MV5BZmEzNjhiZWEtNTM5OS00ZmQyLThhYj…"
    rated: "PG-13"
    released: 1999-01-08T00:00:00.000+00:00
    runtime: 115
    title: "A Civil Action"
    tomatoes: Object
    type: "movie"
    writers: Array (2)
    year: 1998
    SCORE: 2.687220573425293 _id: "573a1398f29313caabcead32"
    awards: Object
    cast: Array (4)
    countries: Array (1)
    directors: Array (1)
    fullplot: "Colonel James Braddock has a Vietnamese wife who was supposed to leave Vietnam with him, but was left behind. Years later, he returns to rescue her and their son."
    genres: Array (2)
    imdb: Object
    languages: Array (1)
    lastupdated: "2015-08-17 00:28:26.627000000"
    num_mflix_comments: 0
    plot: "Colonel James Braddock has a Vietnamese wife who was supposed to leave Vietnam with him, but was left behind."
    poster: "https://m.media-amazon.com/images/M/MV5BZTRjODU0MTUtMjBmMi00ZTBmLTk2MD…"
    rated: "R"
    released: 1988-03-02T00:00:00.000+00:00
    runtime: 101
    title: "Braddock: Missing in Action III"
    tomatoes: Object
    type: "movie"
    writers: Array (5)
    year: 1988
    SCORE: 2.687220573425293 _id: "573a13a9f29313caabd1f502"
    awards: Object
    cast: Array (4)
    countries: Array (2)
    directors: Array (1)
    fullplot: "Bugs Bunny and Daffy Duck are up to their feuding ways again. Tired of all the attention going to Bugs, Daffy persuades the studio to let him go off on his own."
    genres: Array (3)
    imdb: Object
    languages: Array (1)
    lastupdated: "2015-08-28 00:30:31.080000000"
    metacritic: 64
    num_mflix_comments: 1
    plot: "The Looney Tunes search for a man's missing father and the mythical Blue Monkey diamond."
    poster: "https://m.media-amazon.com/images/M/MV5BMTkxNDk5MDQ2MF5BMl5BanBnXkFtZT…"
    rated: "PG"
    released: 2003-11-14T00:00:00.000+00:00
    runtime: 91
    title: "Looney Tunes: Back in Action"
    tomatoes: Object
    type: "movie"
    writers: Array (1)
    year: 2003
    SCORE: 2.4220800399780273 _id: "573a13bdf29313caabd5acfe"
    awards: Object
    cast: Array (4)
    countries: Array (1)
    directors: Array (1)
    fullplot: "Fueled by the belief that another world is possible, acclaimed filmmaker Velcrow Ripper takes us on a journey through the spiritual activism movement."
    genres: Array (1)
    imdb: Object
    languages: Array (1)
    lastupdated: "2015-08-12 00:50:56"
    num_mflix_comments: 1
    plot: "Captures the exciting movement of Spiritual Activism that is exploding around the planet."
    poster: "https://m.media-amazon.com/images/M/MV5BMTI2MjM2Mzk2NV5BMl5BanBnXkFtZT…"
    released: 2008-10-01T00:00:00.000+00:00
    runtime: 90
    title: "Fierce Light: When Spirit Meets Action"
    tomatoes: Object
    type: "movie"
    writers: Array (1)
    year: 2008
db.movies.aggregate([
{
"$search": {
"text": {
"query": "action",
"path": "title"
}
}
},
{
"$limit": 2
},
{
"$project": {
"_id": 0,
"title": 1
}
}
])
[
{
title: 'Action Jackson'
},
{
title: 'Class Action'
}
]

MongoDB Search devolvió estos documentos porque coincidió el término de query action con el token action para los documentos, que MongoDB Search creó al realizar lo siguiente para el texto en el campo title utilizando el analizador lucene.standard:

  • Convierte el texto a minúsculas.

  • Divida el texto en función de los límites de palabras y cree tokens separados.

La siguiente tabla muestra los tokens (términos de búsqueda) que MongoDB Search crea utilizando el Analizador estándar y, por el contrario, los tokens que MongoDB Search crea para el Analizador de palabras clave y el Analizador de espacios en blanco para los documentos en los resultados:

Título
Fichas del Analizador Estándar
Tokens del Analizador de Palabras clave
Tokens del analizador Whitespace

Action Jackson

action, jackson

Action Jackson

Action, Jackson

Class Action

class, action

Class Action

Class, Action

Si indexa el campo usando el:

  • Keyword Analyzer, MongoDB Search no haría coincidir los documentos en los resultados para el término de query action porque el analizador keyword sólo hace coincidir documentos en los que el término de búsqueda coincide exactamente con el contenido completo del campo (Action Jackson y Class Action).

  • Análisis de espacios en blanco, MongoDB Search no coincidiría los documentos en los resultados para el término de consulta action porque el analizador whitespace tokeniza el valor del campo title en su caso original (Action) y el término de consulta tiene el minúscula action, lo cual no coincide con el token whitespace del analizador.

En esta página