2023-05-06 02:40:39 +00:00
|
|
|
package indexparamcheck
|
|
|
|
|
|
|
|
type hnswChecker struct {
|
|
|
|
floatVectorBaseChecker
|
|
|
|
}
|
|
|
|
|
2023-05-29 12:35:28 +00:00
|
|
|
func (c hnswChecker) StaticCheck(params map[string]string) error {
|
2023-05-06 02:40:39 +00:00
|
|
|
if !CheckIntByRange(params, EFConstruction, HNSWMinEfConstruction, HNSWMaxEfConstruction) {
|
|
|
|
return errOutOfRange(EFConstruction, HNSWMinEfConstruction, HNSWMaxEfConstruction)
|
|
|
|
}
|
|
|
|
|
|
|
|
if !CheckIntByRange(params, HNSWM, HNSWMinM, HNSWMaxM) {
|
|
|
|
return errOutOfRange(HNSWM, HNSWMinM, HNSWMaxM)
|
|
|
|
}
|
|
|
|
|
2023-05-29 12:35:28 +00:00
|
|
|
return c.floatVectorBaseChecker.staticCheck(params)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c hnswChecker) CheckTrain(params map[string]string) error {
|
|
|
|
if err := c.StaticCheck(params); err != nil {
|
|
|
|
return err
|
|
|
|
}
|
2023-05-06 02:40:39 +00:00
|
|
|
return c.floatVectorBaseChecker.CheckTrain(params)
|
|
|
|
}
|
|
|
|
|
|
|
|
func newHnswChecker() IndexChecker {
|
|
|
|
return &hnswChecker{}
|
|
|
|
}
|