From b545b17633d2d37242a39a2d1b474e3206d44e41 Mon Sep 17 00:00:00 2001 From: Eric Biagiotti Date: Wed, 12 Jun 2019 14:13:55 -0400 Subject: [PATCH] 15106: Changes full text search to use trigram indexing Arvados-DCO-1.1-Signed-off-by: Eric Biagiotti --- src/services/api/filter-builder.ts | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) 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() { -- 2.30.2