
Facets and filters
Facets let users narrow results without changing their query. Three kinds, used for different things.
Property facets — values of a scalar field on the node:
- Status (Open, Closed, Pending)
- Priority (High, Medium, Low)
- Region, Category, Language
Best for low-cardinality, normalised values. Don't use for fields with millions of distinct values.
Graph-derived (related) facets — constrain by edge to a related entity:
- "Only tickets for product X" → filter by
ForProductedge - "Only documents owned by team Y" → filter by
OwnedByedge
These facets are richer than property facets because they follow the graph. Use them instead of denormalising entity names into properties.
Time facets — a global time filter applied to any [Timestamp] field:
- Last 7 days, last 30 days, last quarter, custom range
Performance tip: pre-compute multi-hop facets during ingestion (materialise the relationship onto the source node as a property) if live traversal is too slow at query time.