You can use the MongoDB Search numberFacet type to index numeric values using the specified representation for faceting. You can index numbers of BSON types int32, int64, and double.
MongoDB Search solo admite consultas del operador de faceta a campos indexados como el tipo numberFacet. Para realizar una búsqueda normal también en el mismo campo, debes indexar también el campo como tipo number.
Para realizar facetado en campos de string en documentos insertados, es necesario indexar los campos principales como tipo documento. Cuando se realiza un facetado en un campo de string dentro de documentos incrustados, MongoDB Search devuelve el recuento de facetas solo para el número de documentos principales que coinciden.
MongoDB Search no indexa dinámicamente los valores de number para la creación de facetas. Debes usar mapeos estáticos para indexar los valores number para las facetas. Puedes utilizar el Editor visual o el Editor JSON en la interfaz de usuario de Atlas para indexar number campos como el tipo number.
numberFacet Limitaciones de tipo
Se aplican las siguientes limitaciones:
No puedes indexar
decimal128para crear facetas.No puedes indexar valores numéricos en arreglos ni en un documento contenido en un arreglo para el facetado.
No puedes aplicar facetas sobre campos numéricos indexados como parte de un campo
embeddedDocuments.
Define the Index for the numberFacet Type
Para definir el índice para el tipo numberFacet, elige tu método de configuración preferido en la Interfaz de Usuario de Atlas y luego selecciona la base de datos y la colección.
Se debe hacer clic en Refine Your Index para configurar el índice.
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 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.Haz clic en el desplegable Data Type y selecciona NumberFacet.
Configura las propiedades del campo para el tipo
numberFacet. Para obtener más información, consulta Propiedades del campo.Haga clic en Add.
The following is the JSON syntax for the numberFacet type. Replace the default index definition with the following. To learn more about the fields, see Field Properties.
{ "mappings": { "dynamic": true|false, "fields": { "<field-name>": { "type": "numberFacet", "representation": "int64|double", "indexIntegers": true|false, "indexDoubles": true|false } } } }
Configure numberFacet Field Properties
El tipo numberFacet de búsqueda de MongoDB toma los siguientes parámetros:
Opción | Tipo | Necesidad | Descripción | predeterminado |
|---|---|---|---|---|
| string | Requerido | El tipo de campo. El valor debe ser | |
| string | Opcional | The data type of the field to index. Values can be one of the following BSON types:
To learn more, see example below. |
|
| booleano | Opcional | Indica si indexar u omitir la indexación de los valores |
|
| booleano | Opcional | Indica si se debe indexar u omitir la indexación de valores tipo |
|
Try an Example for the numberFacet Type
The following index definition example uses the sample_mflix.movies collection. If you have the sample data already loaded on your cluster, you can use the Visual Editor or JSON Editor in the Atlas UI to configure the index. After you select your preferred configuration method, select the database and collection, and refine your index to add field mappings.
Ejemplo básico
La siguiente definición de índice de ejemplo indexa el campo year como tipo numberFacet de MongoDB Search para dar soporte a queries en ese campo utilizando la faceta de MongoDB Search.
En la ventana Add Field Mapping, selecciona year del menú desplegable Field Name.
Haz clic en el desplegable Data Type y selecciona NumberFacet.
Acepta los valores por defecto para NumberFacet Properties.
Haga clic en Add.
Reemplazar la definición predeterminada del índice con la siguiente definición del índice.
{ "mappings": { "dynamic": false, "fields": { "year": { "type": "numberFacet" } } } }
Ejemplo de múltiples tipos
El siguiente ejemplo de definición de índice indexa el campo year como tipos numberFacet y number para devolver los siguientes tipos de resultados para tus queries:
Resultados de metadatos para consultas que utilizan MongoDB Search
facet(Operador de MongoDB Search).
En la ventana Add Field Mapping, selecciona year del menú desplegable Field Name.
Haz clic en el desplegable Data Type y selecciona NumberFacet.
Acepta los valores por defecto para NumberFacet Properties.
Haga clic en Add.
Repite el paso 1 y selecciona Number del menú desplegable Data Type.
Acepta los valores por defecto para Number Properties.
Haga clic en Add.
Reemplazar la definición predeterminada del índice con la siguiente definición del índice.
{ "mappings": { "dynamic": false, "fields": { "year": [ { "type": "numberFacet" }, { "type": "number" } ] } } }
Obtén más información
Para aprender más sobre el colector facet y ver queries de ejemplo, consulte Ejemplos.
Para aprender a crear un índice con una definición de faceta y consultar ese índice utilizando el recopilador facet, consulta el tutorial Cómo utilizar las facetas con MongoDB Search.