Skip to main content

Search Endpoints

Search Endpoints define where your queries are executed— connecting Releval to your actual search infrastructure.

Whether you're using Elasticsearch, OpenSearch, a custom Search API, or something else, Releval sends requests to your endpoints and captures responses for evaluation and analysis, and to compute relevancy metrics.

It can be:

  • A public or private REST API
  • A search engine like Elasticsearch or OpenSearch
  • A proxy or wrapper that transforms Releval input into a custom format

Each endpoint is defined by:

  • A unique name
  • URL e.g. https://localhost:9200
  • HTTP method e.g. GET, POST
  • Endpoint type e.g. Elasticsearch, OpenSearch
  • Authentication method e.g. Bearer, Basic, AWS SigV4, etc.
  • Candidates mapping: How the response is transformed to a JSON structure that Releval understands.
Tip

Releval is able to send a request body with a request using the HTTP GET method, if the endpoint supports it. This can be helpful in limiting the privileges that authentication credentials may have.

Why Are Endpoints Separate?

Defining endpoints separately allows:

  • Reuse of the same queries against multiple backends (e.g. production, staging)
  • Running A/B tests against different engine versions
  • Switching between cloud providers or different index configurations
  • Testing different ranking models by simply switching the target endpoint

Endpoint types

By defining the type of endpoint, Releval can work accordingly with the endpoint. The following types are supported:

NameTypeDescription
ElasticsearchelasticsearchAn Elasticsearch cluster supporting the REST API
OpenSearchopensearchAn OpenSearch cluster supporting the REST API
SolrsolrA Solr cluster supporting the JSON REST API
VespavespaA Vespa cluster supporting the HTTP API
Search APIapiA general-purpose Search API available over HTTP
Search PagepageA general-purpose Search Page available over HTTP in a browser context

Elasticsearch

Type: elasticsearch

Use this type when targeting a standard Elasticsearch instance hosted on Elastic Cloud, self-managed, or on a cloud provider like AWS OpenSearch Service. Releval understands how to parse the native Elasticsearch JSON response structure.

OpenSearch

Type: opensearch

Choose this type if you're running an OpenSearch cluster self-managed or on a cloud provider like AWS OpenSearch Service. Releval understands how to parse the native OpenSearch JSON response structure.

Solr

Type: solr

Choose this type if you're running an Solr cluster self-managed or on a cloud provider like SearchStax. Releval understands how to parse the native Solr JSON response structure.

Vespa

Type: vespa

Choose this type if you're running an Vespa cluster self-managed or on a cloud provider like Vespa Cloud. Releval understands how to parse the native Vespa JSON response structure.

Search API

Type: api

This is the most flexible API option. Use the api type for:

  • Any HTTP-based search API
  • Proxies that wrap another backend
  • Hosted search providers such as Typesense, Algolia, or custom HTTP APIs

Search Page

Type: page

Choose the page type when there is no API that readily exposes search results, or when an API requires a browser context to execute successfully.

Info

In comparison to other types, the page type

  • only supports HTTP GET method
  • only supports query strings, it does not support request bodies

Best Practices

The following are some best practices for working with endpoints.

Use Descriptive Names

Avoid generic names like test or prod. Use descriptive names such as:

  • elasticsearch-prod-v2
  • reranking-layer-b
  • vector-search-pinecone-a

Make use of the description field for additional details.

Keep Environments Isolated

Define separate endpoints for:

  • Production
  • Staging
  • Experimental models
  • Offline testbeds

This makes your evaluations more reproducible and auditable.