func NewIndexRNSGSearchParam(
	search_length int,
) (*IndexRNSGSearchParam, error) {
	if search_length < 10 {
		return nil, errors.New("search_length not valid")
	}
	if search_length > 300 {
		return nil, errors.New("search_length not valid")
	}
	return &IndexRNSGSearchParam{ 
	search_length: search_length,
	}, nil
}
NewIndexRNSGSearchParam create index search param
package entity
import (
	"errors"
)
var _ SearchParam = &IndexFlatSearchParam{}
type IndexFlatSearchParam struct {  
	nprobe int
}
func(i *IndexFlatSearchParam) Params() map[string]interface{} {
	return map[string]interface{} { 
		"nprobe": i.nprobe,
	}
}
func NewIndexFlatSearchParam(
	nprobe int,
) (*IndexFlatSearchParam, error) {
	if nprobe < 1 {
		return nil, errors.New("nprobe not valid")
	}
	if nprobe > 65536 {
		return nil, errors.New("nprobe not valid")
	}
	return &IndexFlatSearchParam{ 
	nprobe: nprobe,
	}, nil
}
var _ SearchParam = &IndexBinFlatSearchParam{}
type IndexBinFlatSearchParam struct {  
	nprobe int
}
func(i *IndexBinFlatSearchParam) Params() map[string]interface{} {
	return map[string]interface{} { 
		"nprobe": i.nprobe,
	}
}
func NewIndexBinFlatSearchParam(
	nprobe int,
) (*IndexBinFlatSearchParam, error) {
	if nprobe < 1 {
		return nil, errors.New("nprobe not valid")
	}
	if nprobe > 65536 {
		return nil, errors.New("nprobe not valid")
	}
	return &IndexBinFlatSearchParam{ 
	nprobe: nprobe,
	}, nil
}
var _ SearchParam = &IndexIvfFlatSearchParam{}
type IndexIvfFlatSearchParam struct {  
	nprobe int
}
func(i *IndexIvfFlatSearchParam) Params() map[string]interface{} {
	return map[string]interface{} { 
		"nprobe": i.nprobe,
	}
}
func NewIndexIvfFlatSearchParam(
	nprobe int,
) (*IndexIvfFlatSearchParam, error) {
	if nprobe < 1 {
		return nil, errors.New("nprobe not valid")
	}
	if nprobe > 65536 {
		return nil, errors.New("nprobe not valid")
	}
	return &IndexIvfFlatSearchParam{ 
	nprobe: nprobe,
	}, nil
}
var _ SearchParam = &IndexBinIvfFlatSearchParam{}
type IndexBinIvfFlatSearchParam struct {  
	nprobe int
}
func(i *IndexBinIvfFlatSearchParam) Params() map[string]interface{} {
	return map[string]interface{} { 
		"nprobe": i.nprobe,
	}
}
func NewIndexBinIvfFlatSearchParam(
	nprobe int,
) (*IndexBinIvfFlatSearchParam, error) {
	if nprobe < 1 {
		return nil, errors.New("nprobe not valid")
	}
	if nprobe > 65536 {
		return nil, errors.New("nprobe not valid")
	}
	return &IndexBinIvfFlatSearchParam{ 
	nprobe: nprobe,
	}, nil
}
var _ SearchParam = &IndexIvfSQ8SearchParam{}
type IndexIvfSQ8SearchParam struct {  
	nprobe int
}
func(i *IndexIvfSQ8SearchParam) Params() map[string]interface{} {
	return map[string]interface{} { 
		"nprobe": i.nprobe,
	}
}
func NewIndexIvfSQ8SearchParam(
	nprobe int,
) (*IndexIvfSQ8SearchParam, error) {
	if nprobe < 1 {
		return nil, errors.New("nprobe not valid")
	}
	if nprobe > 65536 {
		return nil, errors.New("nprobe not valid")
	}
	return &IndexIvfSQ8SearchParam{ 
	nprobe: nprobe,
	}, nil
}
var _ SearchParam = &IndexIvfSQ8HSearchParam{}
type IndexIvfSQ8HSearchParam struct {  
	nprobe int
}
func(i *IndexIvfSQ8HSearchParam) Params() map[string]interface{} {
	return map[string]interface{} { 
		"nprobe": i.nprobe,
	}
}
func NewIndexIvfSQ8HSearchParam(
	nprobe int,
) (*IndexIvfSQ8HSearchParam, error) {
	if nprobe < 1 {
		return nil, errors.New("nprobe not valid")
	}
	if nprobe > 65536 {
		return nil, errors.New("nprobe not valid")
	}
	return &IndexIvfSQ8HSearchParam{ 
	nprobe: nprobe,
	}, nil
}
var _ SearchParam = &IndexIvfPQSearchParam{}
type IndexIvfPQSearchParam struct {  
	nprobe int
}
func(i *IndexIvfPQSearchParam) Params() map[string]interface{} {
	return map[string]interface{} { 
		"nprobe": i.nprobe,
	}
}
func NewIndexIvfPQSearchParam(
	nprobe int,
) (*IndexIvfPQSearchParam, error) {
	if nprobe < 1 {
		return nil, errors.New("nprobe not valid")
	}
	if nprobe > 65536 {
		return nil, errors.New("nprobe not valid")
	}
	return &IndexIvfPQSearchParam{ 
	nprobe: nprobe,
	}, nil
}
var _ SearchParam = &IndexRNSGSearchParam{}
type IndexRNSGSearchParam struct {  
	search_length int
}
func(i *IndexRNSGSearchParam) Params() map[string]interface{} {
	return map[string]interface{} { 
		"search_length": i.search_length,
	}
}