Uma consulta do Firestore.
Os estágios da consulta são executados na seguinte ordem: 1. de 2, em que 3. selecione 4. orderBy + startAt + endAt 5. desvio 6. limit.
Representação JSON |
---|
{ "select": { object ( |
Campos | |
---|---|
select |
Subconjunto opcional dos campos a serem retornados. Isso funciona como um |
from[] |
As coleções a serem consultadas. |
where |
O filtro que será aplicado. |
orderBy[] |
A ordem a ser aplicada aos resultados da consulta. O Firestore permite que os autores de chamadas forneçam uma ordem completa, uma ordem parcial ou nenhuma ordem. Em todos os casos, o Firestore garante uma ordem estável por meio das seguintes regras:
Campos são anexados com a mesma direção de classificação que a última ordem especificada, ou 'ASCENDING' caso nenhum pedido tenha sido especificado. Exemplo:
|
startAt |
Um possível prefixo de uma posição no conjunto de resultados para iniciar a consulta. A ordem do conjunto de resultados é baseada na cláusula
Os resultados desta consulta são ordenados por Os cursores podem fazer referência à ordem completa ou a um prefixo do local, mas não podem fazer referência a mais campos do que o Continuando com o exemplo acima, anexar os seguintes cursores de início terá um impacto variável:
Ao contrário de Requer:
|
endAt |
Um possível prefixo de uma posição no conjunto de resultados em que a consulta será encerrada. Isso é semelhante à Requer:
|
offset |
O número de documentos a serem ignorados antes de retornar o primeiro resultado. Isso se aplica depois das restrições especificadas por Requer:
|
limit |
O número máximo de resultados a serem retornados. Aplica-se após todas as outras restrições. Requer:
|
findNearest |
Opcional. Uma pesquisa sobre vizinhos mais próximos em potencial. Aplica-se depois de todos os outros filtros e ordenação. Encontra os embeddings de vetor mais próximos do vetor de consulta especificado. |
Projeção
A projeção dos campos do documento a serem retornados.
Representação JSON |
---|
{
"fields": [
{
object ( |
Campos | |
---|---|
fields[] |
Os campos a serem retornados. Se estiver vazio, todos os campos serão retornados. Para retornar apenas o nome do documento, use |
Seletor de coleção
Uma seleção de uma coleção, como messages as m1
.
Representação JSON |
---|
{ "collectionId": string, "allDescendants": boolean } |
Campos | |
---|---|
collectionId |
O ID da coleção. Quando definido, seleciona apenas coleções com esse ID. |
allDescendants |
Quando falso, seleciona apenas os conjuntos que são filhos imediatos do |
Filtro
Um filtro.
Representação JSON |
---|
{ // Union field |
Campos | |
---|---|
Campo de união filter_type . O tipo de filtro. filter_type pode ser apenas de um dos tipos a seguir: |
|
compositeFilter |
Um filtro composto. |
fieldFilter |
Um filtro em um campo do documento. |
unaryFilter |
Um filtro que usa exatamente um argumento. |
CompositeFilter
Um filtro que combina vários outros usando o operador especificado.
Representação JSON |
---|
{ "op": enum ( |
Campos | |
---|---|
op |
O operador para combinar vários filtros. |
filters[] |
A lista de filtros a serem combinados. Requer:
|
Operador
Um operador de filtro composto.
Enums | |
---|---|
OPERATOR_UNSPECIFIED |
Não especificado. Não use esse valor. |
AND |
Os documentos precisam atender a todos os filtros combinados. |
OR |
Os documentos precisam atender a pelo menos um dos filtros combinados. |
Filtrodecampo
Um filtro em um campo específico.
Representação JSON |
---|
{ "field": { object ( |
Campos | |
---|---|
field |
O campo a ser filtrado. |
op |
O operador a ser filtrado. |
value |
O valor a ser comparado. |
Operador
Um operador de filtro de campo.
Enums | |
---|---|
OPERATOR_UNSPECIFIED |
Não especificado. Não use esse valor. |
LESS_THAN |
O Requer:
|
LESS_THAN_OR_EQUAL |
O Requer:
|
GREATER_THAN |
O Requer:
|
GREATER_THAN_OR_EQUAL |
A Requer:
|
EQUAL |
O field informado é igual ao value informado. |
NOT_EQUAL |
O Requer:
|
ARRAY_CONTAINS |
O field é uma matriz que contém o value especificado. |
IN |
A Requer:
|
ARRAY_CONTAINS_ANY |
A Requer:
|
NOT_IN |
O valor de Requer:
|
Filtro Unário
Um filtro com um único operando.
Representação JSON |
---|
{ "op": enum ( |
Campos | |
---|---|
op |
O operador unário a ser aplicado. |
Campo de união operand_type . O argumento para o filtro. operand_type pode ser apenas de um dos tipos a seguir: |
|
field |
O campo ao qual aplicar o operador. |
Operador
Um operador unário.
Enums | |
---|---|
OPERATOR_UNSPECIFIED |
Não especificado. Não use esse valor. |
IS_NAN |
O field fornecido é igual a NaN . |
IS_NULL |
O field fornecido é igual a NULL . |
IS_NOT_NAN |
O Requer:
|
IS_NOT_NULL |
O Requer:
|
Pedido
Um pedido em um campo.
Representação JSON |
---|
{ "field": { object ( |
Campos | |
---|---|
field |
O campo pelo qual ordenar. |
direction |
A direção pela qual ordenar. O valor padrão é |
Direção
Uma direção de classificação.
Enums | |
---|---|
DIRECTION_UNSPECIFIED |
Não especificado. |
ASCENDING |
Crescente. |
DESCENDING |
Decrescente. |
Localizar mais próximo
Configuração de pesquisa de vizinhos mais próximos.
Representação JSON |
---|
{ "vectorField": { object ( |
Campos | |
---|---|
vectorField |
Obrigatório. Um campo de vetor indexado para pesquisar. Somente os documentos que contêm vetores com dimensionalidade correspondente ao queryVector podem ser retornados. |
queryVector |
Obrigatório. O vetor de consulta que estamos pesquisando. Precisa ser um vetor com no máximo 2.048 dimensões. |
distanceMeasure |
Obrigatório. A medida de distância a ser usada, obrigatória. |
limit |
Obrigatório. O número de vizinhos mais próximos a serem retornados. Precisa ser um número inteiro positivo de até 1.000. |
Medida de distância
A medida de distância a ser usada na comparação de vetores.
Enums | |
---|---|
DISTANCE_MEASURE_UNSPECIFIED |
Não deve ser definido. |
EUCLIDEAN |
Mede a distância EUCLIDEAN entre os vetores. Consulte Euclidiano para saber mais |
COSINE |
Compara vetores com base no ângulo entre eles, o que permite medir a similaridade que não é baseada na magnitude dos vetores. Recomendamos usar DOT_PRODUCT com vetores normalizados de unidade em vez da distância COSINE, que é matematicamente equivalente a um desempenho melhor. Consulte Semelhança de cossenos para saber mais. |
DOT_PRODUCT |
Semelhante ao cosseno, mas é afetado pela magnitude dos vetores. Consulte Dot Product para saber mais. |