func Page(page int) Opt {
	if page < 1 {
		page = 1
	}
	return &PageSelector{page: page}
}
Page specifies which page of search results to return. The default page is 1 if not specified
Example:wowsearch.Page(10)
package wowsearch
import (
	"fmt"
	"net/url"
	"strings"
)
type Opt interface {
	Apply(*[]string)
}
func Field() *FieldSelector {
	return &FieldSelector{}
}
type FieldSelector struct {
	parts []string
}
func (s *FieldSelector) AND(field, value string) *FieldSelector {
	s.parts = append(s.parts, fmt.Sprintf("%s=%s", url.QueryEscape(field), url.QueryEscape(value)))
	return s
}
func (s *FieldSelector) OR(field string, values ...string) *FieldSelector {
	for i, val := range values {
		values[i] = url.QueryEscape(val)
	}
	s.parts = append(s.parts, fmt.Sprintf("%s=%s", url.QueryEscape(field), strings.Join(values, "||")))
	return s
}
func (s *FieldSelector) NOT(field, value string) *FieldSelector {
	s.parts = append(s.parts, fmt.Sprintf("%s!=%s", url.QueryEscape(field), url.QueryEscape(value)))
	return s
}
func (s *FieldSelector) RANGE(field string, start, stop int) *FieldSelector {
	s.parts = append(s.parts, fmt.Sprintf("%s=[%d,%d]", url.QueryEscape(field), start, stop))
	return s
}
func (s *FieldSelector) MIN(field string, value int) *FieldSelector {
	s.parts = append(s.parts, fmt.Sprintf("%s=[%d,]", url.QueryEscape(field), value))
	return s
}
func (s *FieldSelector) MAX(field string, value int) *FieldSelector {
	s.parts = append(s.parts, fmt.Sprintf("%s=[,%d]", url.QueryEscape(field), value))
	return s
}
func (s *FieldSelector) Apply(v *[]string) {
	*v = append(*v, strings.Join(s.parts, "&"))
}