func main()

in sample/do_meta_query.go [22:85]


func main() {
	flag.Parse()
	if len(bucketName) == 0 {
		flag.PrintDefaults()
		log.Fatalf("invalid parameters, bucket name required")
	}

	if len(region) == 0 {
		flag.PrintDefaults()
		log.Fatalf("invalid parameters, region required")
	}

	cfg := oss.LoadDefaultConfig().
		WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()).
		WithRegion(region)

	client := oss.NewClient(cfg)

	// case 1:meta search
	request := &oss.DoMetaQueryRequest{
		Bucket: oss.Ptr(bucketName),
		MetaQuery: &oss.MetaQuery{
			Query: oss.Ptr(`{"Field": "Size","Value": "1048576","Operation": "gt"}`),
			Sort:  oss.Ptr("Size"),
			Order: oss.Ptr(oss.MetaQueryOrderAsc),
			Aggregations: &oss.MetaQueryAggregations{
				[]oss.MetaQueryAggregation{
					{
						Field:     oss.Ptr("Size"),
						Operation: oss.Ptr("sum"),
					},
					{
						Field:     oss.Ptr("Size"),
						Operation: oss.Ptr("max"),
					},
				},
			},
		},
	}
	result, err := client.DoMetaQuery(context.TODO(), request)
	if err != nil {
		log.Fatalf("failed to do meta query %v", err)
	}

	log.Printf("do meta query result:%#v\n", result)

	// case 2: ai search
	//request = &oss.DoMetaQueryRequest{
	//	Bucket: oss.Ptr(bucketName),
	//	Mode:   oss.Ptr("semantic"),
	//	MetaQuery: &oss.MetaQuery{
	//		MaxResults:  oss.Ptr(int64(99)),
	//		Query:       oss.Ptr("Overlook the snow-covered forest"),
	//		MediaType:   oss.Ptr("image"),
	//		SimpleQuery: oss.Ptr(`{"Operation":"gt", "Field": "Size", "Value": "30"}`),
	//	},
	//}
	//result, err = client.DoMetaQuery(context.TODO(), request)
	//if err != nil {
	//	log.Fatalf("failed to do meta query %v", err)
	//}
	//
	//log.Printf("do meta query result:%#v\n", result)
}