Skip to main content
Semantic search is useful because it retrieves by meaning instead of exact wording. It is also incomplete on its own: production agents need exact matches, freshness, scope, tenant isolation, metadata filters, and graph relationships. HydraDB recall combines those signals so you can retrieve context that is useful, not just similar.

Semantic vs Lexical

POST /recall/full_recall is the default Knowledge recall endpoint. It performs hybrid retrieval over indexed Knowledge sources. POST /recall/recall_preferences uses the same recall model for user Memories. POST /recall/boolean_recall gives you explicit lexical search with or, and, and phrase operators.

Why Pure Semantic Search Breaks

Pure vector search can miss important production constraints:
  • Exact identifiers such as E_AUTH_429 or payments-worker-v4 may be generalized away.
  • A project name can collide with a normal word, like strawberry the project vs strawberry the fruit.
  • Old and new documents can look equally relevant without recency or metadata signals.
  • Different users can need different context for the same query.
  • Relationship questions need graph context, not only similar text chunks.
That is why HydraDB exposes semantic retrieval as one part of recall rather than the whole system.

The alpha Parameter

alpha controls the semantic-vs-lexical blend in recall. Higher values lean semantic. Lower values lean lexical. Start with the API default (0.8) and tune from observed results. If users search for exact IDs and get loosely related content, lower alpha. If they ask broad conceptual questions and get sparse results, raise it.

Recall Request Example

metadata_filters run before ranking. Use them whenever the query has a scope that should not be violated.

Practical Recipes

General Retrieval

Use the default semantic-leaning blend for natural-language questions over documents.

Technical Lookup

Lower alpha when names, IDs, and literal strings matter.

Scoped Retrieval

Use metadata filters to keep retrieval inside a project, team, customer, data class, or source.
Use POST /recall/boolean_recall when a literal match is the point of the query.

Reading The Response

Recall returns ranked chunks and source metadata, not an answer. A typical application flow is:
  1. Call full_recall or recall_preferences.
  2. Keep the chunks that are relevant enough for your use case.
  3. Format chunk_content, source titles, and graph context into a prompt.
  4. Ask your LLM to answer using only that context.
See How to Use API Results for complete context-building examples.

Mental Model

Semantic search finds text that means the same thing. Lexical search finds text that says the same thing. Graph context finds connected entities. Metadata filters decide what is allowed to be searched. HydraDB recall uses these together so your agents get context that is scoped, relevant, and explainable.