func (qp *DisMaxQueryParser) Alt(alt string) *DisMaxQueryParser {
	qp.alt = alt
	return qp
}
Alt sets the q.alt param
package solr
import (
	"fmt"
	"strings"
)
type QueryParser interface {
	BuildParser() string
}
type StandardQueryParser struct {
	q   string  
	op  string  
	df  string  
	sow bool    
	tag string  
}
var _ QueryParser = (*StandardQueryParser)(nil)
func NewStandardQueryParser() *StandardQueryParser {
	return &StandardQueryParser{}
}
func (qp *StandardQueryParser) BuildParser() string {
	kv := []string{"lucene"}
	if qp.df != "" {
		kv = append(kv, fmt.Sprintf("df=%s", qp.df))
	}
	if qp.op != "" {
		kv = append(kv, fmt.Sprintf("q.op=%s", qp.op))
	}
	if qp.sow {
		kv = append(kv, "sow=true")
	}
	if qp.tag != "" {
		kv = append(kv, fmt.Sprintf("tag=%s", qp.tag))
	}
	if qp.q != "" {
		kv = append(kv, fmt.Sprintf("v=%s", qp.q))
	}
	return fmt.Sprintf("{!%s}", strings.Join(kv, " "))
}
func (qp *StandardQueryParser) Query(query string) *StandardQueryParser {
	qp.q = query
	return qp
}
func (qp *StandardQueryParser) Op(op string) *StandardQueryParser {
	qp.op = op
	return qp
}
func (qp *StandardQueryParser) Df(df string) *StandardQueryParser {
	qp.df = df
	return qp
}
func (qp *StandardQueryParser) Sow() *StandardQueryParser {
	qp.sow = true
	return qp
}
func (qp *StandardQueryParser) Tag(tag string) *StandardQueryParser {
	qp.tag = tag
	return qp
}
type DisMaxQueryParser struct {
	q   string  
	alt string  
	qf  string  
	mm  string  
	pf  string  
	ps  string  
	qs  string  
	tie string  
	bq  string  
	bf  string  
}
var _ QueryParser = (*DisMaxQueryParser)(nil)
func NewDisMaxQueryParser() *DisMaxQueryParser {
	return &DisMaxQueryParser{}
}
func (qp *DisMaxQueryParser) BuildParser() string {
	kv := []string{"dismax"}
	if qp.alt != "" {
		kv = append(kv, fmt.Sprintf("q.alt=%s", qp.alt))
	}
	if qp.qf != "" {
		kv = append(kv, fmt.Sprintf("qf=%s", qp.qf))
	}
	if qp.mm != "" {
		kv = append(kv, fmt.Sprintf("mm=%s", qp.mm))
	}
	if qp.pf != "" {
		kv = append(kv, fmt.Sprintf("pf=%s", qp.pf))
	}
	if qp.ps != "" {
		kv = append(kv, fmt.Sprintf("ps=%s", qp.ps))
	}
	if qp.qs != "" {
		kv = append(kv, fmt.Sprintf("qs=%s", qp.qs))
	}
	if qp.tie != "" {
		kv = append(kv, fmt.Sprintf("tie=%s", qp.tie))
	}
	if qp.bq != "" {
		kv = append(kv, fmt.Sprintf("bq=%s", qp.bq))
	}
	if qp.bf != "" {
		kv = append(kv, fmt.Sprintf("bf=%s", qp.bf))
	}
	if qp.q != "" {
		kv = append(kv, fmt.Sprintf("v=%s", qp.q))
	}
	return fmt.Sprintf("{!%s}", strings.Join(kv, " "))
}
func (qp *DisMaxQueryParser) Query(query string) *DisMaxQueryParser {
	qp.q = query
	return qp
}