Spaces:
Running
Running
File size: 3,247 Bytes
b110593 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 |
// _ _
// __ _____ __ ___ ___ __ _| |_ ___
// \ \ /\ / / _ \/ _` \ \ / / |/ _` | __/ _ \
// \ V V / __/ (_| |\ V /| | (_| | || __/
// \_/\_/ \___|\__,_| \_/ |_|\__,_|\__\___|
//
// Copyright © 2016 - 2024 Weaviate B.V. All rights reserved.
//
// CONTACT: [email protected]
//
package noop
import (
"context"
"fmt"
"github.com/pkg/errors"
"github.com/weaviate/weaviate/adapters/repos/db/helpers"
"github.com/weaviate/weaviate/adapters/repos/db/vector/hnsw/distancer"
"github.com/weaviate/weaviate/entities/schema"
"github.com/weaviate/weaviate/entities/vectorindex/hnsw"
)
type Index struct{}
func NewIndex() *Index {
return &Index{}
}
func (i *Index) AddBatch(ctx context.Context, id []uint64, vector [][]float32) error {
// silently ignore
return nil
}
func (i *Index) Add(id uint64, vector []float32) error {
// silently ignore
return nil
}
func (i *Index) Delete(id ...uint64) error {
// silently ignore
return nil
}
func (i *Index) SearchByVector(vector []float32, k int, allow helpers.AllowList) ([]uint64, []float32, error) {
return nil, nil, errors.Errorf("cannot vector-search on a class not vector-indexed")
}
func (i *Index) SearchByVectorDistance(vector []float32, dist float32, maxLimit int64, allow helpers.AllowList) ([]uint64, []float32, error) {
return nil, nil, errors.Errorf("cannot vector-search on a class not vector-indexed")
}
func (i *Index) UpdateUserConfig(updated schema.VectorIndexConfig, callback func()) error {
callback()
switch t := updated.(type) {
case hnsw.UserConfig:
// the fact that we are in the noop index means that 'skip' must have been
// set to true before, so changing it now is not possible. But if it
// stays, we don't mind.
if t.Skip {
return nil
}
return errors.Errorf("cannot update vector index config on a non-indexed class. Delete and re-create without skip property")
default:
return fmt.Errorf("unrecognized vector index config: %T", updated)
}
}
func (i *Index) Drop(context.Context) error {
// silently ignore
return nil
}
func (i *Index) Flush() error {
return nil
}
func (i *Index) Shutdown(context.Context) error {
return nil
}
func (i *Index) SwitchCommitLogs(context.Context) error {
return nil
}
func (i *Index) ListFiles(context.Context, string) ([]string, error) {
return nil, nil
}
func (i *Index) ValidateBeforeInsert(vector []float32) error {
return nil
}
func (i *Index) PostStartup() {
}
func (i *Index) Dump(labels ...string) {
}
func (i *Index) DistanceBetweenVectors(x, y []float32) (float32, bool, error) {
return 0, true, nil
}
func (i *Index) ContainsNode(id uint64) bool {
return false
}
func (i *Index) DistancerProvider() distancer.Provider {
return nil
}
func (i *Index) ShouldCompress() (bool, int) {
return false, 0
}
func (i *Index) ShouldCompressFromConfig(config schema.VectorIndexConfig) (bool, int) {
return false, 0
}
func (i *Index) Compressed() bool {
return false
}
func (i *Index) AlreadyIndexed() uint64 {
return 0
}
func (i *Index) TurnOnCompression(callback func()) error {
return nil
}
|