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.

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.

FilterInline SyntaxQuery Parameter Equivalent
Authorauthor:"Name"?author=Name
Yearyear:"2020"?publication_date=2020
ISBNisbn:"..."?isbn=...
Keyword modekeyword:"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_id to search within a single document when you already know which document you’re looking for content in.
Query Syntax | Vulgate AI