Firestore sorgusu.
Sorgu aşamaları şu sırayla yürütülür: 1.'den 2'ye. Burada 3. 4. orderBy + startAt + endAt 5'i seçin. Ofset 6. limit
JSON gösterimi |
---|
{ "select": { object ( |
Alanlar | |
---|---|
select |
Döndürülecek alanların isteğe bağlı alt kümesi. Bu, bir sorgudan döndürülen dokümanlar üzerinde bir |
from[] |
Sorgulanacak koleksiyonlar. |
where |
Uygulanacak filtre. |
orderBy[] |
Sorgu sonuçlarına uygulanacak sıra. Firestore, arayanların tam sipariş veya kısmi sipariş vermelerine ya da hiç sipariş vermemelerine olanak tanır. Firestore her durumda, aşağıdaki kurallar aracılığıyla istikrarlı bir sıralamayı garanti eder:
Alanlara, belirtilen son sırayla aynı sıralama yönü veya "ASCENDING" ifadesi eklenir görebilirsiniz. Örneğin:
|
startAt |
Sonuç kümesindeki sorgunun başlatılacağı konumun potansiyel ön eki. Sonuç kümesinin sıralaması, orijinal sorgunun
Bu sorgunun sonuçları İmleçler tam sıralamaya veya konumun önekine referans verebilir. Ancak sağlanan Yukarıdaki örnekten devam edeceğimiz için, aşağıdaki başlatma imleçlerini eklemenin çeşitli etkileri olacaktır:
Atlanması için ilk N sonucun taranmasını gerektiren Gerekenler:
|
endAt |
Sonuç kümesinde sorgunun sona ereceği konumun potansiyel ön eki. Bu, Gerekenler:
|
offset |
İlk sonuç döndürülmeden önce atlanacak doküman sayısı. Bu, Gerekenler:
|
limit |
Döndürülecek maksimum sonuç sayısı. Diğer tüm kısıtlamalardan sonra geçerlidir. Gerekenler:
|
findNearest |
İsteğe bağlı. Olası en yakın komşular araması. Diğer tüm filtrelerden ve sıralamalardan sonra uygulanır. Verilen sorgu vektörüne en yakın vektör yerleştirmeleri bulur. |
Projeksiyon
Döndürülecek belge alanlarının projeksiyonu.
JSON gösterimi |
---|
{
"fields": [
{
object ( |
Alanlar | |
---|---|
fields[] |
Döndürülecek alanlar. Boşsa tüm alanlar döndürülür. Yalnızca belgenin adını döndürmek için |
Koleksiyon Seçici
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çilir. |
allDescendants |
Yanlış değerine ayarlandığında yalnızca, içeren |
Filtre
Filtre.
JSON gösterimi |
---|
{ // Union field |
Alanlar | |
---|---|
Birleştirme alanı filter_type . Filtrenin türü. filter_type şunlardan yalnızca biri olabilir: |
|
compositeFilter |
Birleşik filtre. |
fieldFilter |
Belge alanında bir filtre. |
unaryFilter |
Tam olarak bir bağımsız değişken alan filtre. |
Birleşik Filtre
Belirtilen operatörü kullanarak diğer filtreleri birleştiren bir filtre.
JSON gösterimi |
---|
{ "op": enum ( |
Alanlar | |
---|---|
op |
Birden fazla filtreyi birleştirme operatörü. |
filters[] |
Birleştirilecek filtrelerin listesi. Gerekenler:
|
Operatör
Bileşik filtre operatörü.
Sıralamalar | |
---|---|
OPERATOR_UNSPECIFIED |
Belirtilmedi. Bu değer kullanılmamalıdır. |
AND |
Dokümanlar, birleştirilmiş filtrelerin tamamına uymak için gereklidir. |
OR |
Dokümanların, birleştirilmiş filtrelerden en az birine uyması gerekir. |
Alan Filtresi
Belirli bir alandaki filtre.
JSON gösterimi |
---|
{ "field": { object ( |
Alanlar | |
---|---|
field |
Filtreleme ölçütü olarak kullanılacak alan. |
op |
Filtreleme ölçütü olarak 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 Gerekenler:
|
LESS_THAN_OR_EQUAL |
Verilen Gerekenler:
|
GREATER_THAN |
Belirtilen Gerekenler:
|
GREATER_THAN_OR_EQUAL |
Verilen Gerekenler:
|
EQUAL |
Verilen field , verilen value değerine eşit. |
NOT_EQUAL |
Verilen Gerekenler:
|
ARRAY_CONTAINS |
Verilen field , belirtilen value değerini içeren bir dizi. |
IN |
Verilen Gerekenler:
|
ARRAY_CONTAINS_ANY |
Verilen Gerekenler:
|
NOT_IN |
Gerekenler:
|
BirliFiltre
Tek işlem gören 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
Tekli 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 Gerekenler:
|
IS_NOT_NULL |
Verilen Gerekenler:
|
Sipariş
Sahadaki bir sipariş.
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. |
En Yakın Bul
En yakın Komşular arama yapılandırması.
JSON gösterimi |
---|
{ "vectorField": { object ( |
Alanlar | |
---|---|
vectorField |
Zorunlu. Arama yapılacak dizine eklenmiş vektör alanı. Yalnızca boyutları queryVector ile eşleşen vektörleri içeren dokümanlar döndürülebilir. |
queryVector |
Zorunlu. Arama yaptığımız sorgu vektörü. Boyutları en fazla 2048 olan bir vektör içermelidir. |
distanceMeasure |
Zorunlu. Kullanılacak mesafe ölçüsüdür (gereklidir). |
limit |
Zorunlu. Geri dönecek en yakın komşu sayısı. 1000'den fazla olmayan pozitif bir tam sayı olmalıdır. |
Mesafe Ölçümü
Vektörleri karşılaştırırken kullanılacak mesafe ölçüsü.
Sıralamalar | |
---|---|
DISTANCE_MEASURE_UNSPECIFIED |
Ayarlanmamalıdır. |
EUCLIDEAN |
Vektörler arasındaki EUCLIDEAN mesafesini ölçer. Daha fazla bilgi edinmek için Euclidean (Öklide dili) başlıklı makaleyi inceleyin |
COSINE |
Vektörleri aralarındaki açıya göre karşılaştırır. Bu sayede, vektörlerin büyüklüğüne bağlı olmayan benzerliği ölçebilirsiniz. Daha iyi performans ile matematiksel olarak eşdeğer 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 edinmek için Dot Product (Nokta Ürünü) başlıklı makaleyi inceleyin. |