diff options
| author | HATEC\SPVDEV001 <tri.susilo@altama.co.id> | 2024-06-21 15:09:57 +0700 |
|---|---|---|
| committer | HATEC\SPVDEV001 <tri.susilo@altama.co.id> | 2024-06-21 15:09:57 +0700 |
| commit | f559326406175b18f75d2dd42c8bd2f0d901acbf (patch) | |
| tree | 8b4ef014fe3a7131a9d79e2484ee3f1bb1253c58 /src/pages/api | |
| parent | b7def06cf32bf86036056718ece2350b4da72d23 (diff) | |
recomendation product for sales
Diffstat (limited to 'src/pages/api')
| -rw-r--r-- | src/pages/api/shop/generate-recomendation.js | 36 |
1 files changed, 20 insertions, 16 deletions
diff --git a/src/pages/api/shop/generate-recomendation.js b/src/pages/api/shop/generate-recomendation.js index 11dd153e..aea39adf 100644 --- a/src/pages/api/shop/generate-recomendation.js +++ b/src/pages/api/shop/generate-recomendation.js @@ -9,7 +9,7 @@ export default async function handler(req, res) { return res.status(422).json({ error: 'parameter missing' }) } - let parameter = [ + /*let parameter = [ `q=${escapeSolrQuery(q)}`, `q.op=${op}`, `indent=true`, @@ -22,23 +22,27 @@ export default async function handler(req, res) { ]; let result = await axios( process.env.SOLR_HOST + '/solr/product/select?' + parameter.join('&') + );*/ + let parameter = [ + `q=${escapeSolrQuery(q)}`, + `q.op=${op}`, + `debugQuery=on`, + `defType=edismax`, + `df=display_name_s`, + `fq=-publish_b:false`, + `rows=5`, + ]; + if(op == 'AND'){ + parameter.push(`sort=product_rating_f DESC, price_discount_f DESC`); + parameter.push(`rows=1`); + } + + let result = await axios( + process.env.SOLR_HOST + '/solr/recommendation/select?' + parameter.join('&') ); try { - let { auth } = req.cookies; - if (auth) auth = JSON.parse(auth); - result.data.response.products = productMappingSolr( - result.data.response.docs, - auth?.pricelist || false - ); - result.data.responseHeader.params.start = parseInt( - result.data.responseHeader.params.start - ); - result.data.responseHeader.params.rows = parseInt( - result.data.responseHeader.params.rows - ); - delete result.data.response.docs; - result.data = camelcaseObjectDeep(result.data); - res.status(200).json(result.data); + result.data = camelcaseObjectDeep(result.data) + res.status(200).json(result.data) } catch (error) { res.status(400).json({ error: error.message }); } |
