Docs Menu
Docs Home
/ /

Cómo indexar campos de cadena para la búsqueda por facetas

Puedes utilizar la búsqueda de MongoDB stringFacet escribir para indexar Campos de cadena para facetado, lo que permite ejecutar una consulta de operador de facetado en ese campo. MongoDB Search no aplica el analizador al indexar campos para facetado.string

MongoDB Search solo admite consultas con operadores de faceta en campos indexados stringFacet como. Para realizar una búsqueda normal en el mismo campo,string también debe indexarlo como.

Para aplicar facetas a campos de cadena en documentos incrustados, debe indexar los campos principales como tipo de documento. Al aplicar facetas a un campo de cadena dentro de documentos incrustados, MongoDB Search devuelve el recuento de facetas solo para el número de documentos principales coincidentes.

La búsqueda de MongoDB no indexa dinámicamente string los valores para la facetación. Debe usar asignaciones estáticas para indexar string los valores para la facetación. Puede usar el Editor visual o el Editor JSON de la interfaz de usuario de Atlas para indexar string los campos como number tipo.

Para definir el índice del tipo stringFacet, elija su método de configuración preferido en la interfaz de usuario de Atlas y luego seleccione la base de datos y la colección.

  1. Haga clic Refine Your Index para configurar su índice.

  2. En la sección Field Mappings, haz clic en Add Field Mapping para abrir la ventana Add Field Mapping.

  3. Haga clic en Customized Configuration.

  4. Selecciona el campo para indicar desde el desplegable Field Name.

    Nota

    No puedes indexar campos que contengan el signo de dólar ($) al inicio del nombre del campo.

  5. Haga Data Type clic en el menú desplegable y StringFacet seleccione. Para obtener más información sobre este tipo, consulte Propiedades del campo.

  6. Haga clic en Add.

Lo siguiente es el SintaxisJSON para el stringFacet tipo. Reemplace la definición de índice predeterminada por la siguiente. Para obtener más información sobre los campos, consulte Propiedades de campo.

{
"mappings": {
"dynamic": true|false,
"fields": {
"<field-name>": {
"type": "stringFacet"
}
}
}
}

El tipo de búsqueda stringFacet de MongoDB tiene los siguientes parámetros:

Nombre del campo de la interfaz de usuario
JSON Option
Tipo
Necesidad
Descripción

Data Type

type

string

Requerido

Etiqueta legible que identifica este tipo de campo. El valor debe stringFacet ser. MongoDB Search trunca string los valores BSON indexados como stringFacet tipo a aproximadamente 8000 unidades de código UTF-.16

El siguiente ejemplo de definición de índice utiliza la colección sample_mflix.movies. Si ya tiene los datos de muestra cargados en su clúster, puede usar el Editor visual o el Editor JSON de la interfaz de usuario de Atlas para configurar el índice. Después de seleccionar el método de configuración preferido, seleccione la base de datos y la colección, y refine el índice para agregar asignaciones de campos.

La siguiente definición de índice para la sample_mflix.movies colección en el conjunto de datos de muestra indexa el genres campo como stringFacet para facetas.

  1. En la ventana Add Field Mapping, selecciona genres del menú desplegable Field Name.

  2. Haz clic en el desplegable Data Type y selecciona StringFacet.

  3. Haga clic en Add.

{
"mappings": {
"dynamic": false,
"fields": {
"genres": {
"type": "stringFacet"
}
}
}
}

La siguiente definición de índice para la sample_mflix.movies colección en el conjunto de datos de muestra indexa el genres campo como stringFacet string tipos y para devolver los siguientes tipos de resultados para sus consultas:

  • Resultados de metadatos para consultas que utilizan MongoDB Search facet (Operador de búsqueda MongoDB).

  • Resultados de búsqueda para consultas que utilizan operadores de búsqueda MongoDB como texto, frase y otros operadores que realizan búsquedas de texto.

  1. En la ventana Add Field Mapping, selecciona genres del menú desplegable Field Name.

  2. Haz clic en el desplegable Data Type y selecciona StringFacet.

  3. Haga clic en Add.

  4. Repita 1 el paso y seleccione String del Data Type menú desplegable.

  5. Revise la configuración predeterminada de String Properties y haga clic en Add.

{
"mappings": {
"dynamic": false,
"fields": {
"genres": [
{
"type": "stringFacet"
},
{
"type": "string"
}
]
}
}
}

Para obtener más información sobre el facet recopilador y ver consultas de ejemplo, consulte Ejemplos.

Para aprender a crear un índice con una definición de faceta y consultar ese índice utilizando el facet recopilador, consulte el tutorial Cómo usar facetas con la búsqueda de MongoDB.

Para ver un ejemplo de índice y consulta que utiliza stringFacet para ejecutar una búsqueda por facetas con resultados paginados, consulte Usar facetas con resultados paginados.

Volver

string

En esta página