Full-text search · live examples
Search the tickets like a search engine.
Ticket subjects and bodies are tokenized and indexed at write time — the same atomic write that stores the row. Boolean operators, phrase matching, and BM25 ranking run without an external search cluster.
Single term
easyEvery ticket mentioning “EMI” in the body.
GET /v1/tenants/:t/fts/tickets/body?q=emi&k=5
Boolean AND
easyTickets matching BOTH “loan” AND “hardship”.
GET /v1/tenants/:t/fts/tickets/body?q=loan+AND+hardship&k=5
Phrase match
easyThe exact phrase “repayment assistance” — no token soup.
GET /v1/tenants/:t/fts/tickets/body?q=%22repayment+assistance%22&k=5
Field-scoped search
easySearch ONLY ticket subjects — the triage view: what are customers shouting about in the title line?
GET /v1/tenants/:t/fts/tickets/subject?q=urgent&k=5
BM25 ranked
intermediateRelevance-ranked results with the actual BM25 scores shown.
GET /v1/tenants/:t/fts/tickets/body?q=loan+repayment+review&mode=bm25&k=5
Composite boolean — OR + NOT
intermediate(loan OR emi) but NOT marketing noise — nested boolean over the whole corpus.
GET /v1/tenants/:t/fts/tickets/body?q=(loan+OR+emi)+NOT+campaign&k=5
Multi-field
intermediateSubject and body searched together, per-field weighting.
GET /v1/tenants/:t/fts/tickets/subject,body?q=fraud&mode=bm25&k=5
Phrase + boolean + BM25
intermediateExact phrase “repayment assistance” AND the term “rejected”, BM25-ranked — precision search for escalation review.
GET /v1/tenants/:t/fts/tickets/body?q=%22repayment+assistance%22+AND+rejected&mode=bm25&k=5