github.com/weaviate/weaviate@v1.24.6/adapters/repos/db/shard_aggregate.go (about) 1 // _ _ 2 // __ _____ __ ___ ___ __ _| |_ ___ 3 // \ \ /\ / / _ \/ _` \ \ / / |/ _` | __/ _ \ 4 // \ V V / __/ (_| |\ V /| | (_| | || __/ 5 // \_/\_/ \___|\__,_| \_/ |_|\__,_|\__\___| 6 // 7 // Copyright © 2016 - 2024 Weaviate B.V. All rights reserved. 8 // 9 // CONTACT: hello@weaviate.io 10 // 11 12 package db 13 14 import ( 15 "context" 16 17 "github.com/weaviate/weaviate/adapters/repos/db/aggregator" 18 "github.com/weaviate/weaviate/entities/aggregation" 19 ) 20 21 func (s *Shard) Aggregate(ctx context.Context, params aggregation.Params) (*aggregation.Result, error) { 22 var queue *IndexQueue 23 24 // we only need the index queue for vector search 25 if params.NearObject != nil || params.NearVector != nil || params.Hybrid != nil || params.GroupBy != nil || params.SearchVector != nil { 26 var err error 27 queue, err = s.getIndexQueue(params.TargetVector) 28 if err != nil { 29 return nil, err 30 } 31 } else { 32 queue = nil 33 } 34 35 return aggregator.New(s.store, params, s.index.getSchema, s.index.classSearcher, 36 s.index.stopwords, s.versioner.Version(), queue, s.index.logger, s.GetPropertyLengthTracker(), 37 s.isFallbackToSearchable, s.tenant(), s.index.Config.QueryNestedRefLimit, s.bitmapFactory). 38 Do(ctx) 39 }