summaryrefslogtreecommitdiff
path: root/src/pages/api/shop/search.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/pages/api/shop/search.js')
-rw-r--r--src/pages/api/shop/search.js19
1 files changed, 7 insertions, 12 deletions
diff --git a/src/pages/api/shop/search.js b/src/pages/api/shop/search.js
index fec75fd8..d60b9a46 100644
--- a/src/pages/api/shop/search.js
+++ b/src/pages/api/shop/search.js
@@ -212,27 +212,22 @@ export default async function handler(req, res) {
// Searchkey
if (req.query.from === 'searchkey') {
- const phrase = q.replace(/-/g, ' ').trim();
+ const ids = req.query.ids ? req.query.ids.split(',').filter(Boolean) : [];
- // encode q
- const encodedQuery = encodeURIComponent(`variants_name_t:"${phrase}"`);
+ const q = ids.map((id) => `product_id_i:${id}`).join(' OR ');
const strictQuery = [
- `q=${encodedQuery}`,
- `defType=edismax`,
- `q.op=AND`,
- `mm=${encodeURIComponent('100%')}`,
- `qf=${encodeURIComponent('name_s description_clean_t')}`,
+ `q=${encodeURIComponent(q)}`,
+ `fq=-publish_b:false AND price_tier1_v2_f:[1 TO *] AND product_rating_f:[8 TO *]`,
+ // `qf=variants_code_t variants_name_t`,
`rows=${limit}`,
- `start=${(page - 1) * limit}`,
+ `start=${offset}`,
];
- if (fq) strictQuery.push(`fq=${encodeURIComponent(fq)}`);
-
const solrUrl =
process.env.SOLR_HOST + '/solr/product/select?' + strictQuery.join('&');
- console.log('[STRICT SEARCHKEY QUERY]', solrUrl);
+ console.log('[SEARCHKEY FINAL QUERY]', solrUrl);
const result = await axios(solrUrl);