diff options
Diffstat (limited to 'src/pages/api')
| -rw-r--r-- | src/pages/api/shop/search.js | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/src/pages/api/shop/search.js b/src/pages/api/shop/search.js index b5161365..b4d67c5d 100644 --- a/src/pages/api/shop/search.js +++ b/src/pages/api/shop/search.js @@ -13,19 +13,20 @@ export default async function handler(req, res) { orderBy = '', operation = 'AND', fq = '', - limit = 30 + limit = 30, + stock = '' } = req.query let paramOrderBy = '' switch (orderBy) { case 'price-asc': - paramOrderBy += 'price_discount_f ASC' + paramOrderBy += 'price_tier1_v2_f ASC' break case 'price-desc': - paramOrderBy += 'price_discount_f DESC' + paramOrderBy += 'price_tier1_v2_f DESC' break case 'popular': - paramOrderBy += 'search_rank_i DESC' + paramOrderBy += 'product_rating_f DESC, search_rank_i DESC,' break case 'popular-weekly': paramOrderBy += 'search_rank_weekly_i DESC' @@ -33,6 +34,9 @@ export default async function handler(req, res) { case 'stock': paramOrderBy += 'stock_total_f DESC' break + case 'flashsale-price-asc': + paramOrderBy += 'flashsale_price_f ASC' + break default: paramOrderBy += 'product_rating_f DESC, price_discount_f DESC' break @@ -40,7 +44,7 @@ export default async function handler(req, res) { let offset = (page - 1) * limit let parameter = [ - 'facet.field=manufacture_name', + 'facet.field=manufacture_name_s', 'facet.field=category_name', 'facet=true', 'indent=true', @@ -48,7 +52,7 @@ export default async function handler(req, res) { `q.op=${operation}`, `q=${escapeSolrQuery(q)}`, 'qf=name_s', - `start=${offset}`, + `start=${parseInt(offset)}`, `rows=${limit}`, `sort=${paramOrderBy}`, `fq=-publish_b:false` @@ -62,8 +66,9 @@ export default async function handler(req, res) { ) } - if (brand) parameter.push(`fq=manufacture_name:${brand}`) + if (brand) parameter.push(`fq=manufacture_name:${brand.replace(/,/g, ' OR ')}`) if (category) parameter.push(`fq=category_name:${category}`) + if (stock) parameter.push(`fq=stock_total_f:{1 TO *}`) // Single fq in url params if (typeof fq === 'string') parameter.push(`fq=${fq}`) |
