From: Bill Erickson Date: Wed, 23 Oct 2019 13:31:53 +0000 (-0400) Subject: LP1844418 Global flag to enable ES for bib-search X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=f27dfc2ab09b699e9d2c7e25d06dc1461fe7cf08;p=working%2FEvergreen.git LP1844418 Global flag to enable ES for bib-search Signed-off-by: Bill Erickson --- diff --git a/Open-ILS/src/eg2/src/app/share/catalog/catalog.service.ts b/Open-ILS/src/eg2/src/app/share/catalog/catalog.service.ts index 79fcbd68af..528de96fdf 100644 --- a/Open-ILS/src/eg2/src/app/share/catalog/catalog.service.ts +++ b/Open-ILS/src/eg2/src/app/share/catalog/catalog.service.ts @@ -384,6 +384,11 @@ export class CatalogService { return facetData; } + checkSearchEngine(): Promise { + return this.pcrud.retrieve('cgf', 'elastic.bib_search.enabled') + .toPromise().then(flag => this.elastic.enabled = flag.enabled() === 't'); + } + fetchCcvms(): Promise { if (Object.keys(this.ccvmMap).length) { diff --git a/Open-ILS/src/eg2/src/app/share/catalog/elastic.service.ts b/Open-ILS/src/eg2/src/app/share/catalog/elastic.service.ts index 23f3887da5..903dd0c48a 100644 --- a/Open-ILS/src/eg2/src/app/share/catalog/elastic.service.ts +++ b/Open-ILS/src/eg2/src/app/share/catalog/elastic.service.ts @@ -12,6 +12,8 @@ import {RequestBodySearch, MatchQuery, MultiMatchQuery, TermsQuery, Query, Sort, @Injectable() export class ElasticService { + enabled: boolean; + constructor( private idl: IdlService, private net: NetService, @@ -21,6 +23,7 @@ export class ElasticService { // Returns true if Elastic can provide search results. canSearch(ctx: CatalogSearchContext): boolean { + if (!this.enabled) { return false; } if (ctx.marcSearch.isSearchable()) { return true; } diff --git a/Open-ILS/src/eg2/src/app/staff/catalog/resolver.service.ts b/Open-ILS/src/eg2/src/app/staff/catalog/resolver.service.ts index b8e38b3ba3..4ab166331f 100644 --- a/Open-ILS/src/eg2/src/app/staff/catalog/resolver.service.ts +++ b/Open-ILS/src/eg2/src/app/staff/catalog/resolver.service.ts @@ -34,6 +34,7 @@ export class CatalogResolver implements Resolve> { return Promise.all([ this.cat.fetchCcvms(), this.cat.fetchCmfs(), + this.cat.checkSearchEngine(), this.fetchSettings(), this.basket.getRecordIds() ]); diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.elastic-search.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.elastic-search.sql index 3703ebd367..b492659c1c 100644 --- a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.elastic-search.sql +++ b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.elastic-search.sql @@ -22,6 +22,9 @@ UPDATE config.metabib_field INSERT INTO config.global_flag (name, enabled, label) VALUES ( + 'elastic.bib_search.enabled', FALSE, + 'Elasticsearch Enable Bib Searching' +), ( 'elastic.bib_search.dynamic_properties', FALSE, 'Elasticsearch Dynamic Bib Record Properties' ); @@ -255,8 +258,7 @@ ALTER TABLE config.record_attr_definition DROP COLUMN elastic_field; ALTER TABLE config.metabib_field DROP COLUMN elastic_field; -DELETE FROM config.global_flag - WHERE name = 'elastic.bib_search.dynamic_properties'; +DELETE FROM config.global_flag WHERE name ~ 'elastic.*'; */