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 carácter de espacio en blanco. Deja todo el texto en su forma original de mayúsculas y minúsculas.

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 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 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 realizando lo siguiente para el texto en el campo title utilizando 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 genera utilizando el Analizador de espacios en blanco y, en contraste, el Analizador simple y el Analizador de palabras clave para los documentos en los resultados:

Título
Tokens del analizador Whitespace
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