El standard El analizador es la opción predeterminada para todos los índices y consultas de MongoDB Search. Divide el texto en términos según los límites de palabras, lo que lo hace neutral en cuanto al idioma para la mayoría de los casos de uso. Convierte todos los términos a minúsculas y elimina la puntuación. Ofrece tokenización gramatical que reconoce direcciones de correo electrónico, acrónimos, caracteres chino-japoneses-coreanos, alfanuméricos y más.
Si seleccionas Refine Your IndexLa 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. Al expandir esta sección, la interfaz de usuario de Atlas muestra los tokens de índice y búsqueda que el analizador standard genera para cada cadena de muestra. Puede ver los tokens que el analizador standard crea para un documento de muestra integrado y una cadena de consulta al crear o editar un índice en la interfaz de usuario de Atlas Visual Editor.
Importante
MongoDB Search no indexará campos de cadena cuyos tokens del analizador superen 32766 bytes. Si se usa la palabra clave "analizer", los campos de cadena que superen 32766 bytes no se indexarán.
Ejemplo
La siguiente definición de índice de ejemplo especifica un índice en el campo title en el Colecciónsample_mflix.movies con el standard analizador. Para seguir este ejemplo, cargue los datos de muestra en su clúster y utilice mongosh o navegue a la Create a Search
Index página en la interfaz de usuario de Atlas siguiendo los pasos del tutorial Crear un índice de búsqueda de MongoDB.
Luego, utilizando la movies colección como fuente de datos, siga el procedimiento de ejemplo para crear un índice desde mongosh o la interfaz de usuario de Atlas Visual Editor o.JSON editor
➤ Utilice el menú desplegable Seleccione su idioma para configurar la interfaz para el ejemplo de esta página.
Se debe hacer clic en Refine Your Index para configurar el índice.
En la sección Index Configurations, alterna Dynamic Mapping a off.
En la sección Field Mappings, haz clic en Add Field Mapping para abrir la ventana Add Field Mapping.
Haga clic en Customized Configuration.
Selecciona
titledel menú desplegable Field Name.Haga clic en el menú desplegable Data Type y seleccione String si aún no está seleccionado.
Expande String Properties y realiza los siguientes cambios:
Analizador de índices
Seleccione
lucene.standarddel menú desplegable si aún no está seleccionado.Analizador de búsqueda
Seleccione
lucene.standarddel menú desplegable si aún no está seleccionado.Opciones del índice
Usa el
offsetspor defecto.Store
Usa el
truepor defecto.Ignorar lo anterior
Mantener la configuración predeterminada.
Normas
Usa el
includepor defecto.Haga clic en Add.
Haga clic en Save Changes.
Haga clic en Create Search Index.
Reemplazar la definición predeterminada del índice con la siguiente definición del índice.
{ "mappings": { "fields": { "title": { "type": "string", "analyzer": "lucene.standard" } } } } Haga clic en Next.
Haga clic en Create Search Index.
1 db.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.
Haga clic en el botón Query para su índice.
Haga clic en Edit Query para editar la consulta.
Haga clic en la barra de consulta y seleccione la base de datos y la colección.
Reemplace la consulta predeterminada por la siguiente y haga 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ó con el término de consulta action con el token action para los documentos, que MongoDB Search creó al hacer lo siguiente para el texto en el campo title usando 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 | Tokens de analizador estándar | Tokens del analizador de palabras clave | Tokens del analizador de espacios en blanco |
|---|---|---|---|
|
|
|
|
|
|
|
|
Si indexa el campo utilizando:
Analizador de palabras clave, MongoDB Search no coincidiría con los documentos en los resultados para el término de consulta
actionporque elkeywordanalizador solo coincide con los documentos en los que el término de búsqueda coincideAction JacksonClass Actionexactamente con todo el contenido del campo ( y).Analizador de espacios en blanco, MongoDB Search no coincidiría con los documentos en los resultados para el término de consulta
actionporque elwhitespaceanalizador tokeniza eltitlevalor del campo en su caso original ()Actiony el término de consulta tiene enactionminúscula, que no coincide con elwhitespacetoken del analizador.