El analizador keyword acepta una cadena o un arreglo de cadenas como parámetro y las indexa como un único término (token). Solo se devuelven coincidencias exactas en el campo. Deja todo el texto en su tipo de letra original.
Tip
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 keyword genera para cada string de muestra. Puede ver los tokens que el analizador keyword 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.
Ejemplo
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 keyword. 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.
➤ Utilice el menú desplegable Seleccione su lenguaje para establecer el idioma del ejemplo en esta página.
La siguiente consulta busca la frase Class Action en el campo title.
MongoDB Search devolvió el documento porque coincidió el término de consulta Class Action con el único token Class Action que crea para el texto en el campo utilizando el analizador lucene.keyword. Por otro lado, MongoDB Search no devuelve ningún resultado para la siguiente query:
db.cases.aggregate([ { "$search": { "text": { "query": "action", "path": "title" } } } ])
Muchos documentos en la colección contienen la string action, pero el analizador keyword sólo coincide con documentos en los que el término de búsqueda coincide exactamente con todo el contenido del campo. Para la query anterior, el analizador keyword no devolvería ningún resultado. Sin embargo, si indexaste el campo usando el Analizador Estándar o el Analizador Simple, MongoDB Search devolvería múltiples documentos en los resultados, incluyendo el documento con el valor del campo título Class Action, ya que crearías tokens similares a los siguientes, que luego coincidirían con el término de la query:
Analizador | Tokens de salida | Coincidencias action | Coincidencias Class Action |
|---|---|---|---|
Tokens del Analizador de Palabras clave |
| X | √ |
Fichas del Analizador Estándar |
| √ | √ |
Tokens del Analizador Simple |
| √ | √ |