La 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 selecciona 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ías esta sección, la Interfaz de Usuario de Atlas muestra los tokens de índice y búsqueda que el analizador standard genera para cada string de muestra. Puedes ver los tokens que el analizador standard crea para un documento de muestra incorporado y un string del query cuando creas o editas 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.
Ejemplo
La siguiente definición de índice de ejemplo especifica un índice en el campo title en la Colección sample_mflix.movies usando el analizador standard. Para seguir este ejemplo, carga los datos de muestra en tu clúster y usa mongosh o navegue a la página Create a Search
Index en la Interfaz de Usuario de Atlas siguiendo los pasos del tutorial Crear un índice de MongoDB Search.
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, cambie 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.Haz clic en el menú desplegable Data Type y selecciona String si aún no está seleccionado.
Expande String Properties y realiza los siguientes cambios:
Analizador de índices
Selecciona
lucene.standarddel menú desplegable si aún no está seleccionado.Analizador de búsqueda
Selecciona
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
Mantén la configuración por defecto.
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.
Haz clic en el botón Query para tu índice.
Haz clic en Edit Query para editar la consulta.
Haz clic en la barra de query y selecciona la base de datos y la colección.
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 buscables) que MongoDB Search crea usando el Analizador Estándar y, por el contrario, los tokens que MongoDB Search crea para el Analizador por Palabras Clave y 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:
Keyword Analyzer, MongoDB Search no haría coincidir los documentos en los resultados para el término de query
actionporque el analizadorkeywordsólo hace coincidir documentos en los que el término de búsqueda coincide exactamente con el contenido completo del campo (Action JacksonyClass Action).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.