Full-text search, in your database.
Add search: to an entity and get BM25 ranking, live facets, and sort across millions of rows. The index lives in the same database and is maintained in the same transaction as your writes, so results are always consistent with your data.
const Product = entity("Product", {
name: field.string(),
description: field.string(),
category: field.string().index(),
price: field.int(),
}).search({
fields: ["name", "description"],
facets: ["category"],
});- BM25 relevance ranking out of the box
- Live facets and sort — filter counts update as the data does
- Index maintained transactionally with your writes; never stale
- Search scales with your database — nothing extra to deploy or keep in sync
Relevance, in your database
Pylon keeps a BM25 index in the same database, updated in the same transaction as every write — so search results are always consistent with your data, and there's one system to operate instead of two.
Facets and sort, live
Declare facet fields and Pylon maintains their counts as rows change. Build the filter sidebars and sorted result grids of a real product-search UI — by category, price, status — and watch the counts update live as inventory moves.
Scales with your data, not a license
Because search is part of the database, it scales with the storage you already run — the same infrastructure, the same backups, nothing extra to size.
Build it on Pylon.
One framework for your schema, sync, auth, functions, realtime, and SSR. Free to start.