mirror of
https://gitee.com/milvus-io/milvus.git
synced 2025-12-28 14:35:27 +08:00
Add segment filter interface (#7231)
Signed-off-by: godchen <qingxiang.chen@zilliz.com>
This commit is contained in:
parent
d72b023efc
commit
db25550fd0
2
go.mod
2
go.mod
@ -6,6 +6,8 @@ require (
|
||||
github.com/HdrHistogram/hdrhistogram-go v1.0.1 // indirect
|
||||
github.com/antonmedv/expr v1.8.9
|
||||
github.com/apache/pulsar-client-go v0.5.0
|
||||
github.com/bits-and-blooms/bitset v1.2.0 // indirect
|
||||
github.com/bits-and-blooms/bloom/v3 v3.0.1 // indirect
|
||||
github.com/coreos/etcd v3.3.13+incompatible
|
||||
github.com/facebookgo/ensure v0.0.0-20200202191622-63f1cf65ac4c // indirect
|
||||
github.com/facebookgo/stack v0.0.0-20160209184415-751773369052 // indirect
|
||||
|
||||
4
go.sum
4
go.sum
@ -44,6 +44,10 @@ github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+Ce
|
||||
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
|
||||
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
|
||||
github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs=
|
||||
github.com/bits-and-blooms/bitset v1.2.0 h1:Kn4yilvwNtMACtf1eYDlG8H77R07mZSPbMjLyS07ChA=
|
||||
github.com/bits-and-blooms/bitset v1.2.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA=
|
||||
github.com/bits-and-blooms/bloom/v3 v3.0.1 h1:Inlf0YXbgehxVjMPmCGv86iMCKMGPPrPSHtBF5yRHwA=
|
||||
github.com/bits-and-blooms/bloom/v3 v3.0.1/go.mod h1:MC8muvBzzPOFsrcdND/A7kU7kMhkqb9KI70JlZCP+C8=
|
||||
github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84=
|
||||
github.com/bmizerany/perks v0.0.0-20141205001514-d9a9656a3a4b/go.mod h1:ac9efd0D1fsDb3EJvhqgXRbFx7bs2wqZ10HQPeU8U/Q=
|
||||
github.com/boynton/repl v0.0.0-20170116235056-348863958e3e/go.mod h1:Crc/GCZ3NXDVCio7Yr0o+SSrytpcFhLmVCIzi0s49t4=
|
||||
|
||||
29
internal/util/segmentfilter/segment_filter.go
Normal file
29
internal/util/segmentfilter/segment_filter.go
Normal file
@ -0,0 +1,29 @@
|
||||
package segmentfilter
|
||||
|
||||
import (
|
||||
"github.com/bits-and-blooms/bloom/v3"
|
||||
"github.com/milvus-io/milvus/internal/proto/datapb"
|
||||
)
|
||||
|
||||
// SegmentFilter is used to know which segments may have data corresponding
|
||||
// to the primary key
|
||||
type SegmentFilter struct {
|
||||
segmentInfos []*datapb.SegmentInfo
|
||||
bloomFilters []*bloom.BloomFilter
|
||||
}
|
||||
|
||||
func NewSegmentFilter(segmentInfos []*datapb.SegmentInfo) *SegmentFilter {
|
||||
return &SegmentFilter{
|
||||
segmentInfos: segmentInfos,
|
||||
}
|
||||
}
|
||||
|
||||
func (sf *SegmentFilter) init() {
|
||||
panic("This method has not been implemented")
|
||||
}
|
||||
|
||||
// GetSegmentByPK pass a list of primary key and retrun an map of
|
||||
// <segmentID, []string{primary_key}>
|
||||
func (sf *SegmentFilter) GetSegmentByPK(pk []string) map[int64][]string {
|
||||
panic("This method has not been implemented")
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user