From 00576924011c64cd044e6fca3069226035d6e3c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anders=20N=C3=A4sman?= Date: Wed, 17 Mar 2021 09:59:12 +0100 Subject: [PATCH] move collation to search plugin Signed-off-by: Eric Peterson --- packages/backend/src/index.ts | 2 -- packages/backend/src/plugins/catalog.ts | 8 -------- packages/backend/src/plugins/search.ts | 15 +++++++++++++++ plugins/search-indexer-backend/src/index.ts | 3 +++ 4 files changed, 18 insertions(+), 10 deletions(-) diff --git a/packages/backend/src/index.ts b/packages/backend/src/index.ts index 8feb060de2..c32c7e6895 100644 --- a/packages/backend/src/index.ts +++ b/packages/backend/src/index.ts @@ -110,8 +110,6 @@ async function main() { console.log(err); process.exit(1); }); - - // TODO: Start Search Refresh Loop Here? } module.hot?.accept(); diff --git a/packages/backend/src/plugins/catalog.ts b/packages/backend/src/plugins/catalog.ts index 86375203ab..eaca42717c 100644 --- a/packages/backend/src/plugins/catalog.ts +++ b/packages/backend/src/plugins/catalog.ts @@ -19,10 +19,8 @@ import { CatalogBuilder, createRouter, runPeriodically, - SearchCollatorFactory, } from '@backstage/plugin-catalog-backend'; import { Router } from 'express'; -import { registerCollator } from '@backstage/plugin-search-indexer-backend'; import { PluginEnvironment } from '../types'; export default async function createPlugin( @@ -41,12 +39,6 @@ export default async function createPlugin( runPeriodically(() => higherOrderOperation.refreshAllLocations(), 100000), ); - registerCollator({ - type: 'software-catalog', - defaultRefreshIntervalSeconds: 600, - collator: SearchCollatorFactory(entitiesCatalog), - }); - return await createRouter({ entitiesCatalog, locationsCatalog, diff --git a/packages/backend/src/plugins/search.ts b/packages/backend/src/plugins/search.ts index 07a784f654..8619c1b6ca 100644 --- a/packages/backend/src/plugins/search.ts +++ b/packages/backend/src/plugins/search.ts @@ -14,9 +14,24 @@ * limitations under the License. */ import { createRouter } from '@backstage/plugin-search-backend'; +import { + collateDocuments, + // registerCollator, +} from '@backstage/plugin-search-indexer-backend'; import { PluginEnvironment } from '../types'; +// import { SearchCollatorFactory } from '@backstage/plugin-catalog-backend'; export default async function createPlugin({ logger }: PluginEnvironment) { + // TODO: Within this PR, update to use REST API instead of Catalog Builder. + /* registerCollator({ + type: 'software-catalog', + defaultRefreshIntervalSeconds: 600, + collator: SearchCollatorFactory(entitiesCatalog), + });*/ + + // TODO: Make this a more proper refresh loop. + collateDocuments(); + return await createRouter({ logger, }); diff --git a/plugins/search-indexer-backend/src/index.ts b/plugins/search-indexer-backend/src/index.ts index cde6e268b1..f016068db1 100644 --- a/plugins/search-indexer-backend/src/index.ts +++ b/plugins/search-indexer-backend/src/index.ts @@ -27,3 +27,6 @@ export const registerCollator = (params: RegisterCollatorParameters) => { export const registerDecorator = (params: RegisterDecoratorParameters) => { registry.addDecorator(params); }; +export const collateDocuments = () => { + registry.execute(); +};