Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Analizador de espacio en blanco

La whitespace El analizador divide el texto en términos de búsqueda (tokens) donde encuentra un espacio en blanco. Deja todo el texto en su forma original.

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 whitespace genera para cada string de muestra. Puedes ver los tokens que el analizador whitespace 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.

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 whitespace. 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.


  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 para abrir la ventana Add Field Mapping.

  4. Selecciona title del menú desplegable Field Name.

  5. Haga clic en Customized Configuration.

  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.whitespace del menú desplegable.

    Analizador de búsqueda

    Selecciona lucene.whitespace del menú desplegable.

    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.whitespace",
    "searchAnalyzer": "lucene.whitespace"
    }
    }
    }
    }
  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.whitespace",
9 "searchAnalyzer": "lucene.whitespace"
10 }
11 }
12 }
13 }
14)

La siguiente query busca el término Lion's en el campo title.

  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": "Lion's",
    "path": "title"
    }
    }
    }
    ]
    SCORE: 3.7370920181274414 _id: "573a13ebf29313caabdcfc8d"
    awards: Object
    cast: Array (4)
    countries: Array (1)
    directors: Array (1)
    fullplot: "A documentary on young actress, Marianna Palka, as she confronts her r…"
    genres: Array (3)
    imdb: Object
    languages: Array (1)
    lastupdated: "2015-09-03 00:37:45.227000000"
    num_mflix_comments: 0
    plot: "A documentary on young actress, Marianna Palka, as she confronts her r…"
    poster: "https://m.media-amazon.com/images/M/MV5BMTgzMTc2OTg2N15BMl5BanBnXkFtZT…"
    released: 2014-01-18T00:00:00.000+00:00
    runtime: 15
    title: "The Lion's Mouth Opens"
    type: "movie"
    writers: Array (1)
    year: 2014
db.movies.aggregate([
{
"$search": {
"text": {
"query": "Lion's",
"path": "title"
}
}
},
{
"$project": {
"_id": 0,
"title": 1
}
}
])
[ { title: "The Lion's Mouth Opens" } ]

MongoDB Search devuelve estos documentos haciendo lo siguiente para el texto en el campo title usando el analizador lucene.whitespace:

  • Mantén la letra en su forma original para el texto.

  • Divide el texto en tokens donde encuentre un carácter de espacio en blanco.

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

Título
Tokens del analizador de espacios en blanco
Tokens del Analizador Simple
Tokens del Analizador de Palabras clave

The Lion's Mouth Opens

The, Lion's, Mouth, Opens

the, lion, s, mouth, opens

The Lion's Mouth Opens

El índice que utiliza el analizador whitespace distingue mayúsculas y minúsculas. Por lo tanto, MongoDB Search es capaz de coincidir el término de query Lion's con el token Lion's creado por el analizador whitespace.

Volver

Sencillo