From: Eric Biagiotti Date: Wed, 12 Jun 2019 18:13:55 +0000 (-0400) Subject: 15106: Changes full text search to use trigram indexing X-Git-Tag: 2.0.0~41^2~5^2~1 X-Git-Url: https://git.arvados.org/arvados-workbench2.git/commitdiff_plain/b545b17633d2d37242a39a2d1b474e3206d44e41 15106: Changes full text search to use trigram indexing Arvados-DCO-1.1-Signed-off-by: Eric Biagiotti --- diff --git a/src/services/api/filter-builder.ts b/src/services/api/filter-builder.ts index e8992341..77fcef6f 100644 --- a/src/services/api/filter-builder.ts +++ b/src/services/api/filter-builder.ts @@ -56,10 +56,13 @@ export class FilterBuilder { } public addFullTextSearch(value: string) { - // Filter construction implementation taken from - // https://dev.arvados.org/projects/arvados/repository/entry/apps/workbench/app/assets/javascripts/filterable.js - // https://dev.arvados.org/projects/arvados/repository/entry/apps/workbench/app/assets/javascripts/to_tsquery.js - return this.addCondition('any', '@@', value.replace(/[^-\w\.\/]+/g, ' ').trim().replace(/ /g, ':*&')); + const terms = value.trim().split(/(\s+)/); + terms.forEach(term => { + if (term !== " ") { + this.addCondition("any", "ilike", term, "%", "%"); + } + }); + return this; } public getFilters() {