From 63b2ac236875fc3f71c898df5f19693f993f0691 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Duffeck?= Date: Tue, 9 May 2023 14:54:03 +0200 Subject: [PATCH] Do not use prefix queries which gets slow with big indexes Co-authored-by: Florian Schade --- services/search/pkg/engine/bleve.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/services/search/pkg/engine/bleve.go b/services/search/pkg/engine/bleve.go index c8ba38e27b..7347bbec17 100644 --- a/services/search/pkg/engine/bleve.go +++ b/services/search/pkg/engine/bleve.go @@ -134,10 +134,6 @@ func (b *Bleve) Search(_ context.Context, sir *searchService.SearchIndexRequest) }, ), }, - &query.PrefixQuery{ - Prefix: utils.MakeRelativePath(path.Join(sir.Ref.Path, "/")), - FieldVal: "Path", - }, ) } @@ -160,6 +156,10 @@ func (b *Bleve) Search(_ context.Context, sir *searchService.SearchIndexRequest) matches := make([]*searchMessage.Match, 0, len(res.Hits)) for _, hit := range res.Hits { + if sir.Ref != nil && !strings.HasPrefix(getValue[string](hit.Fields, "Path"), utils.MakeRelativePath(path.Join(sir.Ref.Path, "/"))) { + continue + } + rootID, err := storagespace.ParseID(getValue[string](hit.Fields, "RootID")) if err != nil { return nil, err