Implement ElasticSearch search engine
* Adding indexing, searching and default translator for ElasticSearch engine * Modifying default backend to use ES if it is enabled * Adding configuration schema to configure ElasticSearch 3 different ways * Elastic.co hosted solution * AWS hosted ElasticSearch Service * Custom, using standard ElasticSearch URL and auth info * Add and modify some of the documentation regarding search Signed-off-by: Jussi Hallila <jussi@hallila.com>
This commit is contained in:
@@ -47,6 +47,7 @@
|
||||
"@backstage/plugin-scaffolder-backend-module-rails": "^0.1.3",
|
||||
"@backstage/plugin-search-backend": "^0.2.3",
|
||||
"@backstage/plugin-search-backend-node": "^0.4.0",
|
||||
"@backstage/plugin-search-backend-module-elasticsearch": "^0.0.1",
|
||||
"@backstage/plugin-techdocs-backend": "^0.9.0",
|
||||
"@backstage/plugin-todo-backend": "^0.1.8",
|
||||
"@gitbeaker/node": "^30.2.0",
|
||||
|
||||
@@ -22,13 +22,20 @@ import {
|
||||
import { PluginEnvironment } from '../types';
|
||||
import { DefaultCatalogCollator } from '@backstage/plugin-catalog-backend';
|
||||
import { DefaultTechDocsCollator } from '@backstage/plugin-techdocs-backend';
|
||||
import { ElasticSearchSearchEngine } from '@backstage/plugin-search-backend-module-elasticsearch';
|
||||
|
||||
export default async function createPlugin({
|
||||
logger,
|
||||
discovery,
|
||||
config,
|
||||
}: PluginEnvironment) {
|
||||
// Initialize a connection to a search engine.
|
||||
const searchEngine = new LunrSearchEngine({ logger });
|
||||
const searchEngine = config.has('search.elasticSearch')
|
||||
? await ElasticSearchSearchEngine.fromConfig({
|
||||
logger,
|
||||
config,
|
||||
})
|
||||
: new LunrSearchEngine({ logger });
|
||||
const indexBuilder = new IndexBuilder({ logger, searchEngine });
|
||||
|
||||
// Collators are responsible for gathering documents known to plugins. This
|
||||
|
||||
Reference in New Issue
Block a user