Skip to main content

@backstage/plugin-search-backend-module-elasticsearch

Home > @backstage/plugin-search-backend-module-elasticsearch

A module for the search backend that implements search using ElasticSearch

Classes

ClassDescription
ElasticSearchClientWrapper

A wrapper class that exposes logical methods that are conditionally fired against either a configured Elasticsearch client or a configured Opensearch client.

This is necessary because, despite its intention to be API-compatible, the opensearch client does not support API key-based authentication. This is also the sanest way to accomplish this while making typescript happy.

In the future, if the differences between implementations become unmaintainably divergent, we should split out the Opensearch and Elasticsearch search engine implementations.

ElasticSearchSearchEngine
ElasticSearchSearchEngineIndexerElasticsearch specific search engine indexer.

Functions

FunctionDescription
decodeElasticSearchPageCursor(pageCursor)

Interfaces

InterfaceDescription
BaseElasticSearchClientOptionsBase client options that are shared across @opensearch-project/opensearch and @elastic/elasticsearch clients.
ElasticSearchAgentOptions
ElasticSearchConnectionConstructor
ElasticSearchElasticSearchClientOptions

Options used to configure the @elastic/elasticsearch client.

They are drawn from the ClientOptions class of @elastic/elasticsearch, but are maintained separately so that this interface is not coupled to it.

ElasticSearchNodeOptions
ElasticSearchTransportConstructor
OpenSearchConnectionConstructor
OpenSearchElasticSearchClientOptions

Options used to configure the @opensearch-project/opensearch client.

They are drawn from the ClientOptions class of @opensearch-project/opensearch, but are maintained separately so that this interface is not coupled to it.

OpenSearchNodeOptions

Variables

VariableDescription
isOpenSearchCompatibleTypeguard to differentiate ElasticSearch client options which are compatible with OpenSearch vs. ElasticSearch clients. Useful when calling the ElasticSearchSearchEngine.newClient() method.

Type Aliases

Type AliasDescription
ElasticSearchAliasAction
ElasticSearchAuth
ElasticSearchClientOptionsOptions used to configure the @elastic/elasticsearch client or the @opensearch-project/opensearch client, depending on the given config. It will be passed as an argument to the ElasticSearchSearchEngine.newClient() method.
ElasticSearchConcreteQuerySearch query that the elasticsearch engine understands.
ElasticSearchCustomIndexTemplateElasticsearch specific index template
ElasticSearchCustomIndexTemplateBodyElasticsearch specific index template body
ElasticSearchHighlightConfig
ElasticSearchHighlightOptions
ElasticSearchIndexAction
ElasticSearchOptionsOptions for instantiate ElasticSearchSearchEngine
ElasticSearchQueryTranslatorElasticsearch specific query translator.
ElasticSearchQueryTranslatorOptionsOptions available for the Elasticsearch specific query translator.
ElasticSearchSearchEngineIndexerOptionsOptions for instantiate ElasticSearchSearchEngineIndexer
OpenSearchAuth