Learn how to create real-time search indexes from Postgres changes in minutes. Use Sequin to keep your Typesense collections in sync with your database.
Create directory and start services
Alternative: Download with curl
Alternative: Clone the repository
Verify services are running
docker ps
:Up
).Open the web console
Login with default credentials
sequin_playground
with a sample dataset in the public.products
table.Let’s take a look:Navigate to Databases
Select playground database
sequin-playground
database:View contents of the products table
products
table. Run the following command:psql
command.products
table:Start Typesense
Create the collection
Verify the collection
products
table to your Typesense collection:Navigate to Sinks
Select sink type
Note "Source" configuration
sequin-playground
database is selected and all schemas and tables are included. Leave these defaults:Setup a transform
products-typesense
. For “Transform type”, select “Transform function”.In the “Transform function” field, input the following code:id
, name
, and price
fields from the products
table and use them to create a new document in Typesense.products-typesense
transform in the “Transform” list. (If you don’t see it, click the refresh icon.)Setup a backfill
Inital backfill
card, select the public.products
table to initate a backfill when the sink is created.Configure Typesense
http://host.docker.internal:8108
products
my-api-key
Create the sink
products-typesense
, and click “Create Sink”.As configured, the Typesense collection will first receive a backfill of all rows currently in the products
table. Then, it will receive all changes to the products
table in real-time.products
collection:products
collection.To query for just products matching “avocado”, we can add a name
parameter to the query:products
collection where the name
field matches “avocado”.Make some changes
products
table and see them flow to Typesense.In your terminal, run the following command to insert a new row into the products
table:Update a product's price
Change a product's name
Delete a product
Try fuzzy search
products
table