docs/documentation/query-builder/overview.mdx
In addition to basic match, phrase, and term queries, additional advanced query types are exposed as query builder functions.
Query builder functions use the @@@ operator. @@@ takes a column on the left-hand side and a query builder function on the
right-hand side. It means "find all rows where the column matches the given query."
For example:
<CodeGroup> ```sql SQL SELECT description, rating, category FROM mock_items WHERE description @@@ pdb.regex('key.*rd'); ```from paradedb import ParadeDB, Regex
MockItem.objects.filter(
description=ParadeDB(Regex('key.*rd'))
).values('description', 'rating', 'category')
from sqlalchemy import select
from sqlalchemy.orm import Session
from paradedb.sqlalchemy import search
stmt = (
select(MockItem.description, MockItem.rating, MockItem.category)
.where(search.regex(MockItem.description, "key.*rd"))
)
with Session(engine) as session:
session.execute(stmt).all()
MockItem.search(:description)
.regex("key.*rd")
.select(:description, :rating, :category)
description | rating | category
--------------------------+--------+-------------
Ergonomic metal keyboard | 4 | Electronics
Plastic Keyboard | 4 | Electronics
(2 rows)
This uses the regex builder function to match all rows where description matches the regex expression key.*rd.