Firestore sorgusu.
Sorgu aşamaları şu sırayla yürütülür: 1. 2'den. 3. 4. orderBy + startAt + endAt 5. ofset 6. limit
JSON gösterimi |
---|
{ "select": { object ( |
Alanlar | |
---|---|
select |
Döndürülecek alanların isteğe bağlı alt kümesi. Bu anahtar, sorgudan döndürülen belgeler üzerinde |
from[] |
Sorgulanacak koleksiyonlar. |
where |
Uygulanacak filtre. |
orderBy[] |
Sorgu sonuçlarına uygulanacak sıra. Firestore, arayanların tam sıralama veya kısmi sıralama yapmalarına ya da hiç sipariş vermemelerine olanak tanır. Firestore her durumda aşağıdaki kurallarla tutarlı bir sıralamayı garanti eder:
Alanlar, belirtilen son düzenle aynı sıralama yönüyle veya herhangi bir sıra belirtilmediyse "ASCENDING" (ASCENDING) ile eklenir. Örneğin:
|
startAt |
Sorgunun başlatılacağı sonuç kümesindeki bir konumun olası ön eki. Sonuç kümesinin sıralaması, orijinal sorgunun
Bu sorgunun sonuçları İmleçler konumun tam sırasına veya ön ekine başvurabilir ancak sağlanan Yukarıdaki örnekten devam edersek, aşağıdaki başlangıç imleçlerini eklemenin çeşitli etkileri olacaktır:
Atlamak için ilk N sonucun taranmasını gerektiren Gereken:
|
endAt |
Sonuç kümesindeki bir konumun, sorguyu sonlandıracak potansiyel ön eki. Bu, Gereken:
|
offset |
İlk sonuç döndürülmeden önce atlanacak doküman sayısı. Bu durum Gereken:
|
limit |
Döndürülecek maksimum sonuç sayısı. Diğer tüm kısıtlamalardan sonra uygulanır. Gereken:
|
findNearest |
İsteğe bağlı. Olası En Yakın Komşular Araması. Diğer tüm filtre ve sıralamalardan sonra uygulanır. Verilen sorgu vektörüne en yakın vektör gömmelerini bulur. |
Projeksiyon
Döndürülecek belge alanlarının projeksiyonu.
JSON gösterimi |
---|
{
"fields": [
{
object ( |
Alanlar | |
---|---|
fields[] |
Döndürülecek alanlar. Boş bırakılırsa tüm alanlar döndürülür. Yalnızca dokümanın adını döndürmek için |
CollectionSelector
messages as m1
gibi bir koleksiyon seçimi.
JSON gösterimi |
---|
{ "collectionId": string, "allDescendants": boolean } |
Alanlar | |
---|---|
collectionId |
Koleksiyon kimliği. Ayarlandığında, yalnızca bu kimliğe sahip koleksiyonları seçer. |
allDescendants |
Yanlış olduğunda, yalnızca |
Filtre
Bir filtre.
JSON gösterimi |
---|
{ // Union field |
Alanlar | |
---|---|
Birleştirme alanı filter_type . Filtrenin türü. filter_type şunlardan yalnızca biri olabilir: |
|
compositeFilter |
Bileşik bir filtre. |
fieldFilter |
Doküman alanında bir filtre. |
unaryFilter |
Tam olarak bir bağımsız değişken alan bir filtre. |
CompositeFilter
Belirtilen operatörü kullanarak diğer filtreleri birleştiren bir filtre.
JSON gösterimi |
---|
{ "op": enum ( |
Alanlar | |
---|---|
op |
Birden çok filtreyi birleştirme operatörü. |
filters[] |
Birleştirilecek filtrelerin listesi. Gereken:
|
Operatör
Kompozit filtre operatörü.
Sıralamalar | |
---|---|
OPERATOR_UNSPECIFIED |
Belirtilmedi. Bu değer kullanılmamalıdır. |
AND |
Birleştirilmiş filtrelerin tümünü karşılamak için belgeler gerekir. |
OR |
Birleştirilmiş filtrelerden en az birinin şartlarını karşılamak için belgeler gerekir. |
FieldFilter
Belirli bir alan üzerindeki bir filtre.
JSON gösterimi |
---|
{ "field": { object ( |
Alanlar | |
---|---|
field |
Filtreleme ölçütü olarak kullanılacak alan. |
op |
Filtrelemede kullanılacak operatör. |
value |
Karşılaştırılacak değer. |
Operatör
Alan filtresi operatörü.
Sıralamalar | |
---|---|
OPERATOR_UNSPECIFIED |
Belirtilmedi. Bu değer kullanılmamalıdır. |
LESS_THAN |
Belirtilen Gereken:
|
LESS_THAN_OR_EQUAL |
Belirtilen Gereken:
|
GREATER_THAN |
Belirtilen Gereken:
|
GREATER_THAN_OR_EQUAL |
Belirtilen Gereken:
|
EQUAL |
Belirtilen field , belirtilen value değerine eşit. |
NOT_EQUAL |
Belirtilen Gereken:
|
ARRAY_CONTAINS |
Verilen field , belirtilen value değerini içeren bir dizidir. |
IN |
Verilen Gereken:
|
ARRAY_CONTAINS_ANY |
Verilen Gereken:
|
NOT_IN |
Gereken:
|
UnaryFilter
Tek bir işlenene sahip bir filtre.
JSON gösterimi |
---|
{ "op": enum ( |
Alanlar | |
---|---|
op |
Uygulanacak tekli operatör. |
Birleştirme alanı operand_type . Filtrenin bağımsız değişkeni. operand_type şunlardan yalnızca biri olabilir: |
|
field |
Operatörün uygulanacağı alan. |
Operatör
Birli operatör.
Sıralamalar | |
---|---|
OPERATOR_UNSPECIFIED |
Belirtilmedi. Bu değer kullanılmamalıdır. |
IS_NAN |
Verilen field , NaN değerine eşit. |
IS_NULL |
Verilen field , NULL değerine eşit. |
IS_NOT_NAN |
Verilen Gereken:
|
IS_NOT_NULL |
Verilen Gereken:
|
Sipariş
Alandaki bir sıralama.
JSON gösterimi |
---|
{ "field": { object ( |
Alanlar | |
---|---|
field |
Sıralama ölçütü olarak kullanılacak alan. |
direction |
Sıralama ölçütü. Varsayılan olarak |
Yön
Sıralama yönü.
Sıralamalar | |
---|---|
DIRECTION_UNSPECIFIED |
Belirtilmedi. |
ASCENDING |
Artan. |
DESCENDING |
Azalan. |
FindNearest
En Yakın Komşular arama yapılandırması.
JSON gösterimi |
---|
{ "vectorField": { object ( |
Alanlar | |
---|---|
vectorField |
Zorunlu. Arama yapılacak dizine eklenmiş bir vektör alanı. Yalnızca, boyutları queryVector ile eşleşen vektörler içeren dokümanlar döndürülebilir. |
queryVector |
Zorunlu. Arama yaptığımız sorgu vektörü. 2048'den fazla boyutta olmayan bir vektör olmalıdır. |
distanceMeasure |
Zorunlu. Kullanılacak Mesafe Ölçümü (gerekli). |
limit |
Zorunlu. Döndürülecek en yakın komşuların sayısı. 1.000'den fazla olmayan pozitif bir tam sayı olmalıdır. |
DistanceMeasure
Vektörleri karşılaştırırken kullanılacak uzaklık ölçüsü.
Sıralamalar | |
---|---|
DISTANCE_MEASURE_UNSPECIFIED |
Ayarlanmamalı. |
EUCLIDEAN |
Vektörler arasındaki EUCLIDEAN mesafesini ölçer. Daha fazla bilgi edinmek için Öklid kavramını inceleyin |
COSINE |
Vektörleri aralarındaki açıya göre karşılaştırır. Bu sayede, vektörlerin büyüklüğüne dayalı olmayan benzerliği ölçebilirsiniz. Daha iyi performansa sahip matematiksel eşdeğeri olan COSINE mesafesi yerine, birim normalleştirilmiş vektörlerle DOT_PRODUCT kullanmanızı öneririz. Daha fazla bilgi edinmek için Kosinüs Benzerliği bölümüne bakın. |
DOT_PRODUCT |
Kosinüs'e benzer, ancak vektörlerin büyüklüğünden etkilenir. Daha fazla bilgi için Dot Product bölümüne bakın. |