package query

import (
	"gopkg.in/olivere/elastic.v5"
)

//获取查询语句
func GetCheckStockQuery(goodsName string) (queryString string) {
	query := elastic.NewBoolQuery()
	query.Filter(elastic.NewRangeQuery("stock").Gt(0))
	query.Filter(elastic.NewTermQuery("auto_goods_name.raw", goodsName))
	source := elastic.NewSearchSource()
	source.FetchSourceContext(elastic.NewFetchSourceContext(true).Include("goods_name", "stock"))
	source.Size(1)
	source.Query(query)
	searchRequest := elastic.NewSearchRequest().Source(source)
	queryString, _ = searchRequest.Body()
	return
}

//精确匹配商品的查询语句
func GetExactGoodsQuery(goodsName string) (queryString string) {
	query := elastic.NewBoolQuery()
	query.Must(elastic.NewTermQuery("auto_goods_name.raw", goodsName))
	source := elastic.NewSearchSource()
	source.From(0)
	source.Size(200)
	source.Query(query)
	searchRequest := elastic.NewSearchRequest().Source(source).Preference("_primary_first")
	queryString, _ = searchRequest.Body()
	return
}