שאילתה של Firestore.
שלבי השאילתה מבוצעים בסדר הבא: 1. מתוך 2. כאשר 3. בוחרים 4. orderBy + startAt + endAt 5. היסט 6. limit
ייצוג JSON |
---|
{ "select": { object ( |
שדות | |
---|---|
select |
קבוצת משנה אופציונלית של השדות שיש להחזיר. הפעולה הזו פועלת כ- |
from[] |
האוספים שיש להריץ עליהם שאילתות. |
where |
המסנן שצריך להחיל. |
orderBy[] |
הסדר שבו המערכת תחיל את השאילתה על תוצאות השאילתה. Firestore מאפשר למתקשרים לספק הזמנה מלאה, הזמנה חלקית או לא לבצע הזמנה בכלל. בכל המקרים, Firestore מבטיח הזמנה יציבה באמצעות הכללים הבאים:
השדות מתווספים באותו כיוון מיון כמו הסדר האחרון שצוין, או 'ASCENDING' אם לא צוינה סדר. למשל:
|
startAt |
קידומת אפשרית של מיקום בתוצאה שהוגדרה להתחלת השאילתה. הסדר של קבוצת התוצאות מבוסס על הסעיף
תוצאות השאילתה הזו מסודרות לפי הסמן יכול להפנות לסידור המלא או לתחילית של המיקום, אבל הם לא יכולים להפנות לשדות רבים יותר ממה שמופיע ב- בהמשך לדוגמה שלמעלה, לצירוף סמני ההתחלה הבאים תהיה השפעה שונה:
בניגוד ל- אלה הדרישות שצריך לעמוד בהן:
|
endAt |
קידומת פוטנציאלית למיקום בתוצאה שהוגדרה לסיום השאילתה. היא דומה ל- אלה הדרישות שצריך לעמוד בהן:
|
offset |
מספר המסמכים שיש לדלג עליהם לפני החזרת התוצאה הראשונה. הכלל הזה חל אחרי המגבלות שצוינו בסעיפים אלה הדרישות שצריך לעמוד בהן:
|
limit |
המספר המקסימלי של תוצאות שיש להחזיר. המדיניות חלה אחרי כל שאר המגבלות. אלה הדרישות שצריך לעמוד בהן:
|
findNearest |
זה שינוי אופציונלי. חיפוש 'שכנים קרובים ביותר' פוטנציאלי. ההגדרה חלה אחרי כל שאר המסננים והסידור. מוצאת את הטמעות הווקטור הקרובות ביותר לווקטור השאילתה. |
היטל
היטל שדות המסמך שיש להחזיר.
ייצוג JSON |
---|
{
"fields": [
{
object ( |
שדות | |
---|---|
fields[] |
השדות שיש להחזיר. אם השדה יישאר ריק, יוחזרו כל השדות. כדי להחזיר רק את שם המסמך, יש להשתמש בפונקציה |
CollectionSelector
מבחר של אוסף, כמו messages as m1
.
ייצוג JSON |
---|
{ "collectionId": string, "allDescendants": boolean } |
שדות | |
---|---|
collectionId |
מזהה הקולקציה. כשההגדרה מוגדרת, היא בוחרת רק קולקציות עם המזהה הזה. |
allDescendants |
אם הערך הוא False, נבחרים רק אוספים שהם צאצאים מיידיים של |
סינון
מסנן.
ייצוג JSON |
---|
{ // Union field |
שדות | |
---|---|
שדה איחוד filter_type . סוג המסנן. filter_type יכול להיות רק אחד מהבאים: |
|
compositeFilter |
מסנן מורכב. |
fieldFilter |
מסנן בשדה של מסמך. |
unaryFilter |
מסנן שלוקח רק ארגומנט אחד. |
CompositeFilter
מסנן שממזג כמה מסננים אחרים באמצעות האופרטור הנתון.
ייצוג JSON |
---|
{ "op": enum ( |
שדות | |
---|---|
op |
האופרטור לשילוב מסננים מרובים. |
filters[] |
רשימת המסננים לשילוב. אלה הדרישות שצריך לעמוד בהן:
|
מפעיל
אופרטור של מסנן מרוכב.
טיפוסים בני מנייה (enums) | |
---|---|
OPERATOR_UNSPECIFIED |
לא צוין. אי אפשר להשתמש בערך הזה. |
AND |
המסמכים נדרשים כדי להתאים לכל המסננים המשולבים. |
OR |
המסמכים נדרשים כדי להתאים לפחות לאחד מהמסננים המשולבים. |
FieldFilter
מסנן בשדה מסוים.
ייצוג JSON |
---|
{ "field": { object ( |
שדות | |
---|---|
field |
השדה שלפיו רוצים לסנן. |
op |
האופרטור שלפיו רוצים לסנן. |
value |
הערך שאליו רוצים להשוות. |
מפעיל
אופרטור של מסנן שדות.
טיפוסים בני מנייה (enums) | |
---|---|
OPERATOR_UNSPECIFIED |
לא צוין. אי אפשר להשתמש בערך הזה. |
LESS_THAN |
הערך של אלה הדרישות שצריך לעמוד בהן:
|
LESS_THAN_OR_EQUAL |
אלה הדרישות שצריך לעמוד בהן:
|
GREATER_THAN |
הערך של אלה הדרישות שצריך לעמוד בהן:
|
GREATER_THAN_OR_EQUAL |
אלה הדרישות שצריך לעמוד בהן:
|
EQUAL |
field הנתון שווה ל-value הנתון. |
NOT_EQUAL |
אלה הדרישות שצריך לעמוד בהן:
|
ARRAY_CONTAINS |
field הנתון הוא מערך שמכיל את value הנתון. |
IN |
הערך אלה הדרישות שצריך לעמוד בהן:
|
ARRAY_CONTAINS_ANY |
אלה הדרישות שצריך לעמוד בהן:
|
NOT_IN |
הערך של אלה הדרישות שצריך לעמוד בהן:
|
UnaryFilter
מסנן עם אופרנד יחיד.
ייצוג JSON |
---|
{ "op": enum ( |
שדות | |
---|---|
op |
האופרטור Unary יש להחיל. |
שדה איחוד operand_type . הארגומנט של המסנן. operand_type יכול להיות רק אחד מהבאים: |
|
field |
השדה שעליו יש להחיל את האופרטור. |
מפעיל
אופרטור אונרי.
טיפוסים בני מנייה (enums) | |
---|---|
OPERATOR_UNSPECIFIED |
לא צוין. אי אפשר להשתמש בערך הזה. |
IS_NAN |
field הנתון שווה ל-NaN . |
IS_NULL |
field הנתון שווה ל-NULL . |
IS_NOT_NAN |
אלה הדרישות שצריך לעמוד בהן:
|
IS_NOT_NULL |
אלה הדרישות שצריך לעמוד בהן:
|
הזמנה
הזמנה בשדה.
ייצוג JSON |
---|
{ "field": { object ( |
שדות | |
---|---|
field |
השדה שלפיו רוצים לסדר. |
direction |
הכיוון שלפיו יש לסדר. ברירת המחדל היא |
כיוון
כיוון המיון.
טיפוסים בני מנייה (enums) | |
---|---|
DIRECTION_UNSPECIFIED |
לא צוין. |
ASCENDING |
סדר עולה. |
DESCENDING |
בסדר יורד. |
FindNearest
הגדרת החיפוש 'בשכנים הקרובים ביותר'.
ייצוג JSON |
---|
{ "vectorField": { object ( |
שדות | |
---|---|
vectorField |
חובה. שדה וקטורי שנוסף לאינדקס. ניתן להחזיר רק מסמכים שמכילים וקטורים שהמידות שלהם תואמות ל-queryVector. |
queryVector |
חובה. וקטור השאילתה שאנחנו מחפשים. חייב להיות וקטור של עד 2,048 מאפיינים. |
distanceMeasure |
חובה. מידת המרחק שבה יש להשתמש, חובה. |
limit |
חובה. מספר השכנים הקרובים ביותר שיש להחזיר. מספר שלם חיובי שאינו עולה על 1000. |
DistanceMeasure
מידת המרחק לשימוש בעת השוואה בין וקטורים.
טיפוסים בני מנייה (enums) | |
---|---|
DISTANCE_MEASURE_UNSPECIFIED |
לא צריך להיות מוגדר. |
EUCLIDEAN |
מדידת המרחק של האיחוד האירופי (EUCLIDEAN) בין הווקטורים. למידע נוסף, ראו אוקלידית |
COSINE |
משווה בין וקטורים על סמך הזווית ביניהם, מה שמאפשר לכם למדוד דמיון שלא מבוסס על גודל הווקטורים. מומלץ להשתמש ב-DOT_PRODUCT עם וקטורים מנורמלים של יחידות במקום מרחק COSINE, שהוא שווה ערך מתמטי עם ביצועים טובים יותר. למידע נוסף, ראה Cosineמאפיינים דומים. |
DOT_PRODUCT |
דומה לקוסינוס אבל מושפע מגודל הווקטורים. מידע נוסף זמין ב-Dot Product. |