Add postgres based SearchEngine

Signed-off-by: Oliver Sand <oliver.sand@sda-se.com>
This commit is contained in:
Oliver Sand
2021-08-02 11:17:25 +02:00
parent edcb115530
commit 9255e14309
19 changed files with 1330 additions and 3 deletions
+1
View File
@@ -48,6 +48,7 @@
"@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-search-backend-module-pg": "^0.1.0",
"@backstage/plugin-techdocs-backend": "^0.9.0",
"@backstage/plugin-todo-backend": "^0.1.8",
"@gitbeaker/node": "^30.2.0",
+7 -3
View File
@@ -14,20 +14,22 @@
* limitations under the License.
*/
import { useHotCleanup } from '@backstage/backend-common';
import { DefaultCatalogCollator } from '@backstage/plugin-catalog-backend';
import { createRouter } from '@backstage/plugin-search-backend';
import { ElasticSearchSearchEngine } from '@backstage/plugin-search-backend-module-elasticsearch';
import { PgSearchEngine } from '@backstage/plugin-search-backend-module-pg';
import {
IndexBuilder,
LunrSearchEngine,
} from '@backstage/plugin-search-backend-node';
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';
import { PluginEnvironment } from '../types';
export default async function createPlugin({
logger,
discovery,
config,
database,
}: PluginEnvironment) {
// Initialize a connection to a search engine.
const searchEngine = config.has('search.elasticsearch')
@@ -35,6 +37,8 @@ export default async function createPlugin({
logger,
config,
})
: (await PgSearchEngine.supported(database))
? await PgSearchEngine.from({ database })
: new LunrSearchEngine({ logger });
const indexBuilder = new IndexBuilder({ logger, searchEngine });