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.
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:
| Name | Type | Description |
|---|---|---|
| Elasticsearch | elasticsearch | An Elasticsearch cluster supporting the REST API |
| OpenSearch | opensearch | An OpenSearch cluster supporting the REST API |
| Solr | solr | A Solr cluster supporting the JSON REST API |
| Vespa | vespa | A Vespa cluster supporting the HTTP API |
| Search API | api | A general-purpose Search API available over HTTP |
| Search Page | page | A 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.
In comparison to other types, the page type
- only supports HTTP
GETmethod - 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.