本文整理汇总了Golang中google/golang.org/appengine/internal/search.SearchParams.IncludeFacet方法的典型用法代码示例。如果您正苦于以下问题:Golang SearchParams.IncludeFacet方法的具体用法?Golang SearchParams.IncludeFacet怎么用?Golang SearchParams.IncludeFacet使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类google/golang.org/appengine/internal/search.SearchParams
的用法示例。
在下文中一共展示了SearchParams.IncludeFacet方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: setParams
func (o *facetOpt) setParams(params *pb.SearchParams) error {
req := &pb.FacetRequest{Name: &o.name}
params.IncludeFacet = append(params.IncludeFacet, req)
if len(o.values) == 0 {
return nil
}
vtype := reflect.TypeOf(o.values[0])
reqParam := &pb.FacetRequestParam{}
for _, v := range o.values {
if reflect.TypeOf(v) != vtype {
return errors.New("values must all be Atom, or must all be Range")
}
switch v := v.(type) {
case Atom:
reqParam.ValueConstraint = append(reqParam.ValueConstraint, string(v))
case Range:
rng, err := rangeToProto(v)
if err != nil {
return fmt.Errorf("invalid range: %v", err)
}
reqParam.Range = append(reqParam.Range, rng)
default:
return fmt.Errorf("unsupported value type %T", v)
}
}
req.Params = reqParam
return nil
}