Jiquan Long a8306599db
Refactor check logic of index parameters (#23856) (#23903)
Signed-off-by: longjiquan <jiquan.long@zilliz.com>
2023-05-09 14:20:42 +08:00

36 lines
905 B
Go

package indexparamcheck
type nsgChecker struct {
floatVectorBaseChecker
}
func (c nsgChecker) CheckTrain(params map[string]string) error {
if err := c.floatVectorBaseChecker.CheckTrain(params); err != nil {
return err
}
if !CheckIntByRange(params, KNNG, MinKNNG, MaxKNNG) {
return errOutOfRange(KNNG, MinKNNG, MaxKNNG)
}
if !CheckIntByRange(params, SearchLength, MinSearchLength, MaxSearchLength) {
return errOutOfRange(SearchLength, MinSearchLength, MaxSearchLength)
}
if !CheckIntByRange(params, OutDegree, MinOutDegree, MaxOutDegree) {
return errOutOfRange(OutDegree, MinOutDegree, MaxOutDegree)
}
if !CheckIntByRange(params, CANDIDATE, MinCandidatePoolSize, MaxCandidatePoolSize) {
return errOutOfRange(CANDIDATE, MinCandidatePoolSize, MaxCandidatePoolSize)
}
// skip checking the number of rows
return nil
}
func newNsgChecker() IndexChecker {
return &nsgChecker{}
}