---
title: "Content Indexing Overview"
source: "https://docs.vertesiahq.com/content/overview"
markdown: "https://docs.vertesiahq.com/llms/content/overview.md"
---

# Content Indexing Overview

Vertesia provides powerful content indexing and search capabilities that enable AI agents and applications to efficiently find and retrieve relevant documents from your knowledge base.

## What is Content Indexing?

Content indexing is the process of analyzing, embedding, and organizing your documents to make them searchable. Vertesia automatically indexes content when documents are created or updated, maintaining search indexes that support multiple search strategies.

When you upload documents to Vertesia, the platform:

1. **Extracts content** from various file formats (PDF, Word, images, etc.)
2. **Generates embeddings** using AI models to capture semantic meaning
3. **Indexes metadata** including document properties, types, and relationships
4. **Maintains search indexes** for fast retrieval

## Content-derived structure

Vertesia does not require you to define a rigid schema up front and force every document into it. On intake, the platform can read a document and derive its structure from the content itself — assigning a content type and generating a metadata schema that matches what the document actually contains. When an existing type fits, it is reused; when a document needs something new, a new type can be created. Content types are first-class objects, so the structure can evolve with your content rather than being frozen at design time.

This is what lets agents and search work against meaningful, document-specific structure instead of a lowest-common-denominator set of fields.

## Search Infrastructure

Vertesia's search runs on Elasticsearch, which provides vector, full-text, and hybrid search from a single backend:

- **Vector search** using document embeddings for semantic similarity
- **Full-text search** with advanced text analysis, stemming, fuzzy matching, and phrase queries
- **Hybrid search** combining vector and full-text with configurable weights and score fusion
- **Complex aggregations** for analytics and faceted navigation
- **DSL queries** for complete control over search behavior
- **High-volume indexing** with zero-downtime reindexing

You get semantic retrieval, keyword retrieval, and the combination of the two without standing up a separate system for each.

## Search Types

Vertesia supports multiple search strategies that can be used individually or combined:

### Semantic Search (Vector)

Semantic search uses embeddings to find documents based on meaning rather than exact keywords. When you search for "quarterly financial report," semantic search can find documents about "Q3 earnings summary" even without matching words.

**Best for:**
- Finding conceptually similar documents
- Natural language queries
- Cross-language search (when embeddings support it)

### Full-Text Search

Full-text search matches documents based on keywords with support for:

- **Stemming**: Matching "running" with "run," "runs," "ran"
- **Fuzzy matching**: Finding documents despite typos
- **Phrase matching**: Exact phrase requirements
- **Field-specific search**: Targeting specific metadata fields

**Best for:**
- Known keyword searches
- Exact phrase matching
- Technical terminology

### Hybrid Search

Hybrid search combines semantic and full-text search for the best of both approaches. Vertesia supports multiple score aggregation methods:

| Method | Description |
|--------|-------------|
| **RRF** (Reciprocal Rank Fusion) | Combines result rankings, good when relevance scores aren't comparable |
| **RSF** (Relevance Score Fusion) | Combines normalized relevance scores for direct score comparison |
| **Smart** | Automatically selects the best method based on available search types |

You can also configure weights to prioritize one search type over another:

```json
{
  "full_text": "quarterly report",
  "vector": { "text": "financial analysis" },
  "weights": { "full_text": 2, "vector": 3 }
}
```

## What a search returns

Search returns ranked content objects, not loose text fragments. Results can be filtered by document type and properties, and the content store tracks document revisions, so you can work against the current version of a document rather than stale text.

From there, a document's structure is addressable. On intake Vertesia generates a table of contents and a structured representation of each document, so an agent can inspect its sections and headings and fetch a specific one – pulling the *Indemnification* section by its heading, say, rather than the whole file. [Semantic DocPrep](/semantic/overview) additionally preserves layout and bounding boxes, enabling deep links to the exact location a passage came from.

## Getting Started

1. **Configure embeddings** to enable semantic search. See [Embeddings Configuration](/content/embeddings).
2. **Review search configuration and indexing.** See [Search Configuration](/content/search).
3. **Use the search_documents tool** to search from agents. See [Built-in Tools](/agent-runner/tools).

## Next Steps

- [Embeddings Configuration](/content/embeddings) - Configure text, image, and properties embeddings
- [Search Configuration](/content/search) - Configure indexing and search
- [Built-in Tools](/agent-runner/tools) - Learn about the search_documents tool