Firestore クエリ。
クエリのステージは、1. from 2.、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、。
JSON 表現 |
---|
{ "select": { object ( |
フィールド | |
---|---|
select |
返されるフィールドのオプションのサブセット。 これは、クエリから返されたドキュメントの |
from[] |
クエリを実行するコレクション。 |
where |
適用するフィルタ。 |
orderBy[] |
クエリ結果に適用する順序。 Firestore では、呼び出し元は完全な順序指定、部分順序指定、または順序指定なしを指定できます。いずれの場合も、Firestore は次のルールを通じて安定した順序を保証します。
フィールドは、最後に指定された順序と同じ並べ替え方向、または「ASCENDING」で追加されます。順序が指定されていない場合。例:
|
startAt |
結果セット内でクエリを開始する位置の潜在的な接頭辞。 結果セットの順序は、元のクエリの
このクエリの結果は カーソルは、位置の完全な順序または接頭辞のいずれかを参照できますが、指定された 上記の例の場合、次の開始カーソルをアタッチすると、さまざまな影響があります。
最初の N 個の結果をスキャンしてスキップする 必須の要素
|
endAt |
クエリの終了位置として、結果セット内の位置の潜在的な接頭辞。
必須の要素
|
offset |
最初の結果を返す前にスキップするドキュメントの数。 これは、 必須の要素
|
limit |
返される結果の最大件数です。 他のすべての制約の後に適用されます。 必須の要素
|
findNearest |
省略可。潜在的な最近傍探索。 他のすべてのフィルタと順序の後に適用されます。 指定されたクエリベクトルに最も近いベクトル エンベディングを検索します。 |
予測
返されるドキュメントのフィールドの射影。
JSON 表現 |
---|
{
"fields": [
{
object ( |
フィールド | |
---|---|
fields[] |
返されるフィールド。 空の場合、すべてのフィールドが返されます。ドキュメントの名前のみを返すには、 |
コレクション セレクタ
コレクションの選択(messages as m1
など)。
JSON 表現 |
---|
{ "collectionId": string, "allDescendants": boolean } |
フィールド | |
---|---|
collectionId |
コレクション ID。設定すると、この ID のコレクションのみが選択されます。 |
allDescendants |
false の場合、含まれる |
フィルタ
フィルタ。
JSON 表現 |
---|
{ // Union field |
フィールド | |
---|---|
共用体フィールド filter_type 。フィルタのタイプ。filter_type は次のいずれかになります。 |
|
compositeFilter |
複合フィルタ。 |
fieldFilter |
ドキュメント フィールドのフィルタ。 |
unaryFilter |
引数を 1 つだけ受け取るフィルタ。 |
CompositeFilter
指定した演算子を使用して他の複数のフィルタを結合するフィルタ。
JSON 表現 |
---|
{ "op": enum ( |
フィールド | |
---|---|
op |
複数のフィルタを組み合わせるための演算子。 |
filters[] |
結合するフィルタのリスト。 必須の要素
|
演算子
複合フィルタ演算子。
列挙値 | |
---|---|
OPERATOR_UNSPECIFIED |
指定なし。この値は使用しないでください。 |
AND |
ドキュメントは、結合されたすべてのフィルタを満たす必要があります。 |
OR |
ドキュメントは組み合わせたフィルタの少なくとも 1 つを満たす必要があります。 |
フィールド フィルタ
特定のフィールドに対するフィルタ。
JSON 表現 |
---|
{ "field": { object ( |
フィールド | |
---|---|
field |
フィルタに使用するフィールド。 |
op |
フィルタに使用する演算子。 |
value |
比較対象の値。 |
演算子
フィールド フィルタ演算子。
列挙型 | |
---|---|
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 |
適用する単項演算子。 |
共用体フィールド operand_type 。フィルタの引数。operand_type は次のいずれかになります。 |
|
field |
演算子を適用するフィールド。 |
演算子
単項演算子。
列挙型 | |
---|---|
OPERATOR_UNSPECIFIED |
指定なし。この値は使用しないでください。 |
IS_NAN |
指定された field は NaN と等しい。 |
IS_NULL |
指定された field は NULL と等しい。 |
IS_NOT_NAN |
指定された 必須の要素
|
IS_NOT_NULL |
指定された 必須の要素
|
注文
フィールド上の順序。
JSON 表現 |
---|
{ "field": { object ( |
フィールド | |
---|---|
field |
並べ替えるフィールド。 |
direction |
並べ替えの方向。デフォルトは |
方向
並べ替えの方向。
列挙型 | |
---|---|
DIRECTION_UNSPECIFIED |
未設定。 |
ASCENDING |
昇順。 |
DESCENDING |
降順。 |
FindNearest
最近傍探索の構成。
JSON 表現 |
---|
{ "vectorField": { object ( |
フィールド | |
---|---|
vectorField |
必須。検索するインデックス付きベクトル フィールド。次元が queryVector に一致するベクトルを含むドキュメントのみが返されます。 |
queryVector |
必須。検索対象のクエリベクトル。2,048 次元以下のベクトルにする必要があります。 |
distanceMeasure |
必須。使用する距離尺度(必須)。 |
limit |
必須。返される最近傍の数。1,000 以下の正の整数を指定する必要があります。 |
DistanceMeasure
ベクトルを比較するときに使用する距離の尺度。
列挙型 | |
---|---|
DISTANCE_MEASURE_UNSPECIFIED |
設定しないでください。 |
EUCLIDEAN |
ベクトル間の EUCLIDEAN 距離を測定します。詳しくは、ユークリッドをご覧ください。 |
COSINE |
ベクトル間の角度に基づいてベクトルを比較します。これにより、ベクトルの大きさに基づかない類似性を測定できます。COSINE 距離ではなく、単位正規化ベクトルで DOT_PRODUCT を使用することをおすすめします。COSINE 距離は数学的に同等でパフォーマンスが向上します。詳しくは、コサイン類似度をご覧ください。 |
DOT_PRODUCT |
コサインに似ていますが、ベクトルの大きさの影響を受けます。詳細については、ドット積をご覧ください。 |