Skip to main content

Search providers

AvantiPoint Packages supports several search backends. Search.Type selects how queries run (ISearchService). ISearchIndexer.Key tracks which external index last wrote each package version (Package.IndexedWith).

Search types

Search.TypeQuery serviceIndexerIndexer key
Database (default)DatabaseSearchServiceNullSearchIndexer (no external index)Null
NullNullSearchServiceNullSearchIndexerNull
ElasticsearchElasticsearchSearchServiceElasticsearchSearchIndexerElasticsearch
OpenSearchOpenSearchSearchService (AWS)OpenSearchSearchIndexerOpenSearch
AzureSearchAzureSearchServiceAzureSearchIndexerAzureSearch

When to use an external index

  • Database — simplest deployment; search runs against SQL with no extra infrastructure.
  • Elasticsearch / OpenSearch / Azure AI Search — better full-text relevance, lower database load on large feeds, and horizontal scaling of search workloads.

Startup reconciliation

When an external indexer is active, a background service reindexes packages whose IndexedWith is null or does not match the current indexer key. The API starts immediately; search results may be incomplete until reconciliation finishes.

NullSearchIndexer (Database and Null search types) skips reconciliation entirely.

Configuration

{
"Feed": {
"Search": {
"Type": "Elasticsearch",
"ReconcileBatchSize": 100
}
}
}

See provider-specific guides: