Query Syntax
The search parameter in the Search Content endpoint supports an advanced query syntax that lets you combine free-text search with structured filters inline.
Basic search
A plain text query performs a neural (semantic) search by default:
?search=the theology of the body
Inline filters
You can embed structured filters directly in the search string using the key:"value" syntax. Filters are extracted from the query before search execution.
Author filter
Search within works by a specific author:
?search=prayer author:"Thomas Aquinas"
Year filter
Filter by publication year:
?search=ecclesiology year:"1965"
ISBN filter
Filter by ISBN:
?search=isbn:"978-0-06-065283-2"
Keyword mode
Force keyword (BM25) search instead of neural search:
?search=keyword:"Nicene Creed"
This is equivalent to passing ?search=Nicene Creed&mode=keyword, but lets you toggle the mode inline.
Combining filters
Filters can be combined with each other and with free-text search:
?search=grace and free will author:"Augustine" year:"426"
This performs a neural search for “grace and free will” while filtering to documents authored by Augustine and published in 426.
Filter precedence
Inline filters take precedence over query parameters. For example, if you pass both author:"Augustine" in the search string and author=Aquinas as a query parameter, the inline filter (Augustine) will be used.
| Filter | Inline Syntax | Query Parameter Equivalent |
|---|---|---|
| Author | author:"Name" | ?author=Name |
| Year | year:"2020" | ?publication_date=2020 |
| ISBN | isbn:"..." | ?isbn=... |
| Keyword mode | keyword:"query" | ?mode=keyword&search=query |
Query parameter filters
In addition to inline filters, you can pass filters as query parameters. These are documented in detail on the Search Content reference page:
curl -G "https://vulgate.ai/api/search" \
-H "Authorization: Bearer $VULGATE_API_KEY" \
--data-urlencode "search=sacramental theology" \
--data-urlencode "author=John Paul II" \
--data-urlencode "publication_date=2003" \
--data-urlencode "libraries=mai"
Tips
- Neural mode works best with natural language queries. Ask a question or describe a concept rather than using isolated keywords.
- Keyword mode is better for exact terms, proper nouns, or technical identifiers.
- Filters narrow results before ranking, which can significantly improve both relevance and performance.
- Use
document_idto search within a single document when you already know which document you’re looking for content in.