You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: apps/bitbin-docs/content/concepts.md
+17-5Lines changed: 17 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -125,9 +125,9 @@ This means `key_id` must be unique within a `(tenant, entity)` pair. If you inse
125
125
126
126
---
127
127
128
-
## Queries as Geometry
128
+
## How Queries Work
129
129
130
-
Every query defines a **bounding box**in the dimension space. You specify constraints on any subset of dimensions, and BitBin finds all records that fall within that box.
130
+
A query has two parts: **what to filter**(`space`) and **what to compute** (`measure`). You describe the records you want, and BitBin finds them.
131
131
132
132
```json
133
133
{
@@ -138,9 +138,21 @@ Every query defines a **bounding box** in the dimension space. You specify const
138
138
139
139
This is equivalent to: "Count all records where tenant=1 AND amount>500 AND region=3."
140
140
141
+
### Filter types
142
+
141
143
-**Exact match:**`"region": 3` → region = 3
142
144
-**Range:**`"amount": [500, null]` → amount > 500
143
-
-**Unconstrained:** omit the dimension entirely — zero cost
145
+
-**Unconstrained:** omit a field entirely — it's free, not scanned
146
+
147
+
Think of it like metadata filtering in a vector database: you tag each record with structured fields, then query by combining any subset of those fields. The difference is that BitBin evaluates all fields simultaneously — you don't pick one "index" to query through. Every field is always indexed, always fast.
0 commit comments