Una consulta de Firestore.
Las etapas de consulta se ejecutan en el siguiente orden: 1. desde 2. donde 3. seleccionar 4. orderBy + startAt + endAt 5. offset 6. limit
Representación JSON |
---|
{ "select": { object ( |
Campos | |
---|---|
select |
Subconjunto opcional de los campos que se mostrarán. Esto actúa como un |
from[] |
Las colecciones que se consultarán. |
where |
El filtro que se aplicará. |
orderBy[] |
El orden en que se aplicará a los resultados de la consulta. Firestore permite que los llamadores proporcionen un orden completo o parcial, o bien no proporcionar ningún orden. En todos los casos, Firestore garantiza un orden estable mediante las siguientes reglas:
A los campos se les agrega la misma dirección de orden que la del último orden especificado, o “ASCENDING”. si no se especificó ningún orden. Por ejemplo:
|
startAt |
Es un posible prefijo de una posición en el conjunto de resultados para iniciar la consulta. El orden del conjunto de resultados se basa en la cláusula
Los resultados de esta consulta están ordenados por Los cursores pueden hacer referencia al orden completo o a un prefijo de la ubicación, aunque no pueden hacer referencia a más campos que los del Siguiendo con el ejemplo anterior, adjuntar los siguientes cursores de inicio tendrá un impacto diferente:
A diferencia de Requisitos:
|
endAt |
Un posible prefijo de una posición en el conjunto de resultados para finalizar la consulta. Es similar a Requisitos:
|
offset |
Es la cantidad de documentos que se deben omitir antes de mostrar el primer resultado. Esto se aplica después de las restricciones especificadas por Requisitos:
|
limit |
La cantidad máxima de resultados que se mostrarán. Se aplica después de todas las demás restricciones. Requisitos:
|
findNearest |
Opcional. Una posible búsqueda de vecinos más cercanos. Se aplica después de todos los demás filtros y orden. Encuentra las incorporaciones vectoriales más cercanas al vector de consulta dado. |
Proyección
La proyección de los campos del documento que se mostrarán.
Representación JSON |
---|
{
"fields": [
{
object ( |
Campos | |
---|---|
fields[] |
Los campos que se mostrarán. Si está vacío, se muestran todos los campos. Para mostrar solo el nombre del documento, usa |
Selector de colección
Es una selección de una colección, como messages as m1
.
Representación JSON |
---|
{ "collectionId": string, "allDescendants": boolean } |
Campos | |
---|---|
collectionId |
Es el ID de la colección. Cuando se establece, selecciona solo las colecciones con este ID. |
allDescendants |
Cuando es falso, solo selecciona colecciones que sean elementos secundarios inmediatos del |
Filtro
Un filtro.
Representación JSON |
---|
{ // Union field |
Campos | |
---|---|
Campo de unión filter_type . El tipo de filtro. filter_type puede ser solo uno de los siguientes: |
|
compositeFilter |
Un filtro compuesto. |
fieldFilter |
Un filtro en el campo de un documento. |
unaryFilter |
Un filtro que toma exactamente un argumento. |
CompositeFilter
Es un filtro que combina varios otros filtros usando el operador determinado.
Representación JSON |
---|
{ "op": enum ( |
Campos | |
---|---|
op |
Operador para combinar varios filtros. |
filters[] |
Es la lista de filtros que se combinarán. Requisitos:
|
Operador
Un operador de filtro compuesto.
Enums | |
---|---|
OPERATOR_UNSPECIFIED |
Sin especificar. No se debe usar este valor. |
AND |
Los documentos deben cumplir con todos los filtros combinados. |
OR |
Los documentos deben cumplir con al menos uno de los filtros combinados. |
Filtro Campo
Un filtro en un campo específico.
Representación JSON |
---|
{ "field": { object ( |
Campos | |
---|---|
field |
El campo que se usará para filtrar. |
op |
Operador por el que se debe filtrar. |
value |
Valor con el que se va a comparar. |
Operador
Un operador de filtro de campo.
Enums | |
---|---|
OPERATOR_UNSPECIFIED |
Sin especificar. No se debe usar este valor. |
LESS_THAN |
El Requisitos:
|
LESS_THAN_OR_EQUAL |
El objeto Requisitos:
|
GREATER_THAN |
El Requisitos:
|
GREATER_THAN_OR_EQUAL |
El Requisitos:
|
EQUAL |
El field especificado es igual al value especificado. |
NOT_EQUAL |
El Requisitos:
|
ARRAY_CONTAINS |
La field especificada es un array que contiene la value especificada. |
IN |
El Requisitos:
|
ARRAY_CONTAINS_ANY |
El Requisitos:
|
NOT_IN |
El valor de Requisitos:
|
Filtro unario
Un filtro con un solo operando.
Representación JSON |
---|
{ "op": enum ( |
Campos | |
---|---|
op |
El operador unario que se aplica. |
Campo de unión operand_type . El argumento del filtro. operand_type puede ser solo uno de los siguientes: |
|
field |
El campo al que se aplica el operador. |
Operador
Un operador unario.
Enums | |
---|---|
OPERATOR_UNSPECIFIED |
Sin especificar. No se debe usar este valor. |
IS_NAN |
El field proporcionado es igual a NaN . |
IS_NULL |
El field proporcionado es igual a NULL . |
IS_NOT_NAN |
El Requisitos:
|
IS_NOT_NULL |
El Requisitos:
|
Pedido
Un pedido en un campo.
Representación JSON |
---|
{ "field": { object ( |
Campos | |
---|---|
field |
El campo según el cual se debe realizar el pedido. |
direction |
Indica las instrucciones para ordenar. La configuración predeterminada es |
Dirección
Una dirección de ordenamiento.
Enums | |
---|---|
DIRECTION_UNSPECIFIED |
Sin especificar. |
ASCENDING |
Ascendente. |
DESCENDING |
Descendente. |
Buscar más cercano
Configuración de búsqueda de vecinos más cercanos.
Representación JSON |
---|
{ "vectorField": { object ( |
Campos | |
---|---|
vectorField |
Obligatorio. Es un campo de vector indexado para buscar. Solo se pueden mostrar documentos que contienen vectores cuya dimensionalidad coincide con el queryVector. |
queryVector |
Obligatorio. El vector de consulta que estamos buscando. Debe ser un vector de no más de 2,048 dimensiones. |
distanceMeasure |
Obligatorio. La medida de distancia que se usará, obligatoria. |
limit |
Obligatorio. La cantidad de vecinos más cercanos que se mostrarán. Debe ser un número entero positivo de no más de 1,000. |
Medición de distancia
La medida de distancia que se usará para comparar vectores.
Enums | |
---|---|
DISTANCE_MEASURE_UNSPECIFIED |
No se debe establecer. |
EUCLIDEAN |
Mide la distancia EUCLIDEAN entre los vectores. Consulta Euclidean para obtener más información |
COSINE |
Compara vectores según el ángulo entre ellos, lo que te permite medir una similitud que no se basa en la magnitud de los vectores. Recomendamos usar DOT_PRODUCT con vectores normalizados por unidad en lugar de la distancia COSINE, que es matemáticamente equivalente con un mejor rendimiento. Consulta Similitud de coseno para obtener más información. |
DOT_PRODUCT |
Similar al coseno, pero se ve afectado por la magnitud de los vectores. Consulta Dot Product para obtener más información. |