Understanding Semantic Search

Traditional keyword search is powerful, but it has a fundamental limitation: it can only find what it's told to find. If a user searches for "e-car charging," they won't find an article titled "Powering Your Electric Vehicle."

Semantic search solves this by matching meaning and intent, not just keywords. While dedicated vector databases can provide this, they often lack powerful filtering capabilities, creating a new problem for developers building complex search experiences.

FoxNose's semantic search is different. It's fully integrated with the structured database, allowing you to build applications that understand what your users are truly looking for, without compromise. This guide explains the core concepts, how it works, and how to choose the right search mode for your needs.


The Power of Semantic Search: Key Benefits

Semantic search provides essential advantages for building intelligent applications that go beyond the limitations of keyword matching. It allows your application to understand the true meaning behind user queries, enabling discovery of relevant content even when exact keywords are not present. For instance, a query for "e-car charging" can retrieve articles about "powering electric vehicles."

This approach is also highly resilient to variations in user input, as embeddings inherently handle synonyms, typos, and different phrasings. This reduces the need for extensive manual curation of keywords and tags, making your search more robust and easier to maintain.

Most importantly, with FoxNose, the semantic representation of your content (vectors) remains perfectly synchronized with your content schemas and publishing workflows. This ensures a single source of truth for both your structured data and its search index. This integrated approach removes the complex infrastructure traditionally associated with semantic search, suchs as managing separate vector databases or manual sync jobs, allowing you to focus on application development.


Semantic search is about finding meaning, not just matching keywords. Imagine searching for "sustainable energy" and getting results for "renewable power sources" or "green energy solutions"—even if your exact words aren't present. That's semantic search at work.

This intelligence comes from vectorization.

The DIY Semantic Search Problem

While pure semantic search is powerful, implementing it alongside traditional filtering creates significant challenges for developers. A typical DIY setup involves:

  1. Multiple Databases: Storing structured data in one database (e.g., Postgres or Elasticsearch for filtering) and vectors in another (e.g., Pinecone).
  2. Complex Application Logic: Your application becomes responsible for querying both systems and then writing complex, often slow, logic to merge, de-duplicate, and rank the two result sets.
  3. Difficult Fallbacks: If you apply strict filters and the vector search returns too few results, your application becomes responsible for performing additional follow-up queries with broader criteria to find enough content, adding even more complexity.

This approach is brittle, hard to maintain, and often fails to deliver truly relevant, well-ranked results.

Turning Words into Meaningful Numbers

In FoxNose, every piece of text content (and your search query) is automatically transformed into a unique numerical representation called a vector (or embedding). Think of these vectors as coordinates in a vast, multi-dimensional map of meaning.

  • Similar Meanings = Close Together: Texts with similar meanings (e.g., "e-car" and "electric vehicle") are mapped to vectors that are very close to each other on this map.
  • Different Meanings = Far Apart: Texts with different meanings are mapped to vectors that are distant from each other.

When you perform a semantic search, FoxNose takes your query, vectorizes it, and then instantly finds the content vectors that are closest to your query vector. This powerful process allows your applications to understand user intent and retrieve truly relevant results, even across different phrasing.


Query Modes

FoxNose's Flux API offers flexible query modes, allowing you to fine-tune how semantic search operates within your applications.

1. Pure Semantic Search (Vector-only)

When your primary goal is to find content based purely on meaning, use this mode. It's ideal for tasks like finding conceptually similar articles or powering recommendation engines where keyword matching is secondary.

  • How to use: Send a POST /your-folder/_search request with search_mode: "vector". For more details, see Flux Vector Search.

2. Hybrid Search: Semantic Power with Precision Filtering

This is where FoxNose shines. Hybrid search is designed to solve the DIY problem by combining vector search, full-text search, and structured filtering into a single, powerful API request.

  • How it works: You send one query to the Flux Search API that includes both your semantic query ("find content about sustainable urban development") and your precise filters (published after '2023-01-01' AND tagged 'environment').
  • The Benefit: FoxNose handles the complex work of querying, merging, and ranking on the server side. You get a single, clean, and highly relevant result set without writing any complex application logic, eliminating the need for multiple databases and follow-up queries.

3. Semantic Boosting for Existing Listings

Even without a dedicated semantic search query, you can enrich existing content listings with semantic context.

  • How to use: Fetch items via List Resources and enable vector boosting. FoxNose can then enrich your UI with _sys.vector_boost_metadata, providing relevant semantic insights that can improve the user experience.

All these query modes inherently honor your configured folder permissions, localization parameters, and strict_reference routing, ensuring secure and accurate content delivery.


Practical Solutions

Beyond its technical capabilities, FoxNose's integrated semantic search solves several common operational and development challenges:

  • Consistent Relevance: By deriving all semantic embeddings from your canonical content model, FoxNose ensures consistent search relevance across all your channels—whether it's for website search, chat assistants, or personalization engines.
  • Simplified Workflows: Editors publish content once, and vector embeddings update automatically in the background. This eliminates the need for managing separate vector databases or complex reindexing processes when performing migrations, copying environments, or rolling back content versions.
  • Governed Access: FoxNose's robust access control (Flux API keys, roles, and folder permissions) applies universally to all search responses, including semantic results. This guarantees that sensitive data is never exposed through unintended vector queries, maintaining strict data governance.


Next Step: Applying to Multilingual Content

Now that you understand the basics of semantic search, learn how it works seamlessly across different languages to create a global search experience.

Was this page helpful?