@infrab4a/connect 3.9.0-beta.5 → 3.9.0-beta.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import { __awaiter, __rest } from "tslib";
2
- import { Product } from '../../../domain';
2
+ import { Product, Shops } from '../../../domain';
3
3
  export class ProductsIndex {
4
4
  constructor(adapter) {
5
5
  this.adapter = adapter;
@@ -27,33 +27,57 @@ export class ProductsIndex {
27
27
  return Product.toInstance(data.hits[0]._source);
28
28
  });
29
29
  }
30
- search(searchTerm) {
30
+ search(searchTerm, total, shop) {
31
31
  return __awaiter(this, void 0, void 0, function* () {
32
+ const size = total >= 10 ? 500 : 9;
33
+ const fields = [
34
+ 'EAN',
35
+ 'brand',
36
+ 'id',
37
+ 'images',
38
+ 'miniatures',
39
+ 'name',
40
+ 'price',
41
+ 'sku',
42
+ 'stock',
43
+ 'slug',
44
+ 'reviews',
45
+ 'hasVariants',
46
+ 'rate',
47
+ ];
48
+ const filter = [{ term: { published: true } }];
49
+ if (size > 9) {
50
+ fields.push(...['pricePaid', 'isGift', 'stock', 'weight', 'tags']);
51
+ }
52
+ else {
53
+ filter.push({ term: { tags: shop == Shops.GLAMSHOP ? 'feminino' : 'masculino' } });
54
+ }
32
55
  const search = yield this.adapter.query(this.index, {
33
- query: {
34
- bool: {
35
- must: {
36
- multi_match: {
37
- query: `${searchTerm}`,
38
- fields: ['name', 'name.folded', 'name.search', 'description', 'brand'],
39
- fuzziness: 2,
40
- },
41
- },
42
- should: {
43
- match_phrase_prefix: {
44
- 'name.search': {
56
+ body: {
57
+ size,
58
+ _source: fields,
59
+ query: {
60
+ bool: {
61
+ must: {
62
+ multi_match: {
45
63
  query: `${searchTerm}`,
46
- slop: 10,
64
+ fields: ['name', 'name.folded', 'name.search', 'description', 'brand'],
65
+ fuzziness: 2,
47
66
  },
48
67
  },
68
+ should: {
69
+ match_phrase_prefix: {
70
+ 'name.search': {
71
+ query: `${searchTerm}`,
72
+ slop: 10,
73
+ },
74
+ },
75
+ },
76
+ filter,
49
77
  },
50
- filter: [{ term: { published: true } }],
51
78
  },
52
79
  },
53
80
  });
54
- search.hits.forEach((row) => {
55
- row._source.price = Object.assign(Object.assign({}, row._source.price), (!!row._source.price.Glamshop && row._source.price.Glamshop));
56
- });
57
81
  search.hits = search.hits.filter((e) => e._source.name !== '');
58
82
  return search;
59
83
  });
@@ -90,4 +114,4 @@ export class ProductsIndex {
90
114
  });
91
115
  }
92
116
  }
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdHMtaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9lbGFzdGljc2VhcmNoL2luZGV4ZXMvcHJvZHVjdHMtaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUl6QyxNQUFNLE9BQU8sYUFBYTtJQUV4QixZQUE2QixPQUE4QjtRQUE5QixZQUFPLEdBQVAsT0FBTyxDQUF1QjtRQURuRCxVQUFLLEdBQUcsVUFBVSxDQUFBO0lBQ29DLENBQUM7SUFFekQsT0FBTyxDQUFDLEVBQVU7O1lBQ3RCLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQTtZQUNuRCxPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDakMsQ0FBQztLQUFBO0lBRUssWUFBWSxDQUFDLEVBQVU7O1lBQzNCLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDaEQsS0FBSyxFQUFFO29CQUNMLElBQUksRUFBRTt3QkFDSixJQUFJLEVBQUU7NEJBQ0osS0FBSyxFQUFFO2dDQUNMLEVBQUUsRUFBRSxFQUFFOzZCQUNQO3lCQUNGO3FCQUNGO2lCQUNGO2FBQ0YsQ0FBQyxDQUFBO1lBRUYsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDakQsQ0FBQztLQUFBO0lBRUssTUFBTSxDQUFDLFVBQWtCOztZQUM3QixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ2xELEtBQUssRUFBRTtvQkFDTCxJQUFJLEVBQUU7d0JBQ0osSUFBSSxFQUFFOzRCQUNKLFdBQVcsRUFBRTtnQ0FDWCxLQUFLLEVBQUUsR0FBRyxVQUFVLEVBQUU7Z0NBQ3RCLE1BQU0sRUFBRSxDQUFDLE1BQU0sRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxPQUFPLENBQUM7Z0NBQ3RFLFNBQVMsRUFBRSxDQUFDOzZCQUNiO3lCQUNGO3dCQUNELE1BQU0sRUFBRTs0QkFDTixtQkFBbUIsRUFBRTtnQ0FDbkIsYUFBYSxFQUFFO29DQUNiLEtBQUssRUFBRSxHQUFHLFVBQVUsRUFBRTtvQ0FDdEIsSUFBSSxFQUFFLEVBQUU7aUNBQ1Q7NkJBQ0Y7eUJBQ0Y7d0JBQ0QsTUFBTSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQztxQkFDeEM7aUJBQ0Y7YUFDRixDQUFDLENBQUE7WUFFRixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUMvQixHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssbUNBQVEsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEdBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFFLENBQUE7WUFDL0csQ0FBQyxDQUFDLENBQUE7WUFFRixNQUFNLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxFQUFFLENBQUMsQ0FBQTtZQUVuRSxPQUFPLE1BQU0sQ0FBQTtRQUNmLENBQUM7S0FBQTtJQUVLLElBQUksQ0FBQyxPQUE2Qjs7WUFDdEMsSUFBSTtnQkFDRixNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxXQUFXLEtBQWMsT0FBTyxFQUFoQixJQUFJLFVBQUssT0FBTyxFQUF4RCx5Q0FBOEMsQ0FBVSxDQUFBO2dCQUU5RCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFBO2FBQ3BDO1lBQUMsT0FBTyxLQUFLLEVBQUU7Z0JBQ2QsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQTthQUNyQjtRQUNILENBQUM7S0FBQTtJQUVLLE1BQU0sQ0FBQyxPQUE2Qjs7WUFDeEMsSUFBSTtnQkFDRixNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQTthQUMzRDtZQUFDLE9BQU8sS0FBSyxFQUFFO2dCQUNkLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7YUFDckI7UUFDSCxDQUFDO0tBQUE7SUFFSyxNQUFNLENBQUMsRUFBVTs7WUFDckIsSUFBSTtnQkFDRixNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUE7YUFDMUM7WUFBQyxPQUFPLEtBQUssRUFBRTtnQkFDZCxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFBO2FBQ3JCO1FBQ0gsQ0FBQztLQUFBO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm9kdWN0IH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJ1xyXG5pbXBvcnQgeyBQcm9kdWN0SGFzdXJhR3JhcGhRTCB9IGZyb20gJy4uLy4uL2hhc3VyYS1ncmFwaHFsJ1xyXG5pbXBvcnQgeyBBeGlvc0FkYXB0ZXIgfSBmcm9tICcuLi9hZGFwdGVycydcclxuXHJcbmV4cG9ydCBjbGFzcyBQcm9kdWN0c0luZGV4IHtcclxuICBwcml2YXRlIGluZGV4ID0gYHByb2R1Y3RzYFxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgYWRhcHRlcjogQXhpb3NBZGFwdGVyPFByb2R1Y3Q+KSB7fVxyXG5cclxuICBhc3luYyBnZXRCeUlkKGlkOiBzdHJpbmcpOiBQcm9taXNlPFByb2R1Y3Q+IHtcclxuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLmFkYXB0ZXIuZ2V0KHRoaXMuaW5kZXgsIGlkKVxyXG4gICAgcmV0dXJuIFByb2R1Y3QudG9JbnN0YW5jZShkYXRhKVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgZ2V0QnlBbGxveUlkKGlkOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLmFkYXB0ZXIucXVlcnkodGhpcy5pbmRleCwge1xyXG4gICAgICBxdWVyeToge1xyXG4gICAgICAgIGJvb2w6IHtcclxuICAgICAgICAgIG11c3Q6IHtcclxuICAgICAgICAgICAgbWF0Y2g6IHtcclxuICAgICAgICAgICAgICBpZDogaWQsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICB9KVxyXG5cclxuICAgIHJldHVybiBQcm9kdWN0LnRvSW5zdGFuY2UoZGF0YS5oaXRzWzBdLl9zb3VyY2UpXHJcbiAgfVxyXG5cclxuICBhc3luYyBzZWFyY2goc2VhcmNoVGVybTogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBzZWFyY2ggPSBhd2FpdCB0aGlzLmFkYXB0ZXIucXVlcnkodGhpcy5pbmRleCwge1xyXG4gICAgICBxdWVyeToge1xyXG4gICAgICAgIGJvb2w6IHtcclxuICAgICAgICAgIG11c3Q6IHtcclxuICAgICAgICAgICAgbXVsdGlfbWF0Y2g6IHtcclxuICAgICAgICAgICAgICBxdWVyeTogYCR7c2VhcmNoVGVybX1gLFxyXG4gICAgICAgICAgICAgIGZpZWxkczogWyduYW1lJywgJ25hbWUuZm9sZGVkJywgJ25hbWUuc2VhcmNoJywgJ2Rlc2NyaXB0aW9uJywgJ2JyYW5kJ10sXHJcbiAgICAgICAgICAgICAgZnV6emluZXNzOiAyLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHNob3VsZDoge1xyXG4gICAgICAgICAgICBtYXRjaF9waHJhc2VfcHJlZml4OiB7XHJcbiAgICAgICAgICAgICAgJ25hbWUuc2VhcmNoJzoge1xyXG4gICAgICAgICAgICAgICAgcXVlcnk6IGAke3NlYXJjaFRlcm19YCxcclxuICAgICAgICAgICAgICAgIHNsb3A6IDEwLFxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZmlsdGVyOiBbeyB0ZXJtOiB7IHB1Ymxpc2hlZDogdHJ1ZSB9IH1dLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICB9KVxyXG5cclxuICAgIHNlYXJjaC5oaXRzLmZvckVhY2goKHJvdzogYW55KSA9PiB7XHJcbiAgICAgIHJvdy5fc291cmNlLnByaWNlID0geyAuLi5yb3cuX3NvdXJjZS5wcmljZSwgLi4uKCEhcm93Ll9zb3VyY2UucHJpY2UuR2xhbXNob3AgJiYgcm93Ll9zb3VyY2UucHJpY2UuR2xhbXNob3ApIH1cclxuICAgIH0pXHJcblxyXG4gICAgc2VhcmNoLmhpdHMgPSBzZWFyY2guaGl0cy5maWx0ZXIoKGU6IGFueSkgPT4gZS5fc291cmNlLm5hbWUgIT09ICcnKVxyXG5cclxuICAgIHJldHVybiBzZWFyY2hcclxuICB9XHJcblxyXG4gIGFzeW5jIHNhdmUocHJvZHVjdDogUHJvZHVjdEhhc3VyYUdyYXBoUUwpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IHsgY3JlYXRlZEF0LCB1cGRhdGVkQXQsIGtpdFByb2R1Y3RzLCAuLi5kYXRhIH0gPSBwcm9kdWN0XHJcblxyXG4gICAgICB0aGlzLmFkYXB0ZXIuc2F2ZSh0aGlzLmluZGV4LCBkYXRhKVxyXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgY29uc29sZS5lcnJvcihlcnJvcilcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFzeW5jIHVwZGF0ZShwcm9kdWN0OiBQcm9kdWN0SGFzdXJhR3JhcGhRTCkge1xyXG4gICAgdHJ5IHtcclxuICAgICAgYXdhaXQgdGhpcy5hZGFwdGVyLnVwZGF0ZSh0aGlzLmluZGV4LCBwcm9kdWN0LmlkLCBwcm9kdWN0KVxyXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgY29uc29sZS5lcnJvcihlcnJvcilcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFzeW5jIGRlbGV0ZShpZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0cnkge1xyXG4gICAgICBhd2FpdCB0aGlzLmFkYXB0ZXIuZGVsZXRlKHRoaXMuaW5kZXgsIGlkKVxyXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgY29uc29sZS5lcnJvcihlcnJvcilcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdHMtaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9lbGFzdGljc2VhcmNoL2luZGV4ZXMvcHJvZHVjdHMtaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFJaEQsTUFBTSxPQUFPLGFBQWE7SUFFeEIsWUFBNkIsT0FBOEI7UUFBOUIsWUFBTyxHQUFQLE9BQU8sQ0FBdUI7UUFEbkQsVUFBSyxHQUFHLFVBQVUsQ0FBQTtJQUNvQyxDQUFDO0lBRXpELE9BQU8sQ0FBQyxFQUFVOztZQUN0QixNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUE7WUFDbkQsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ2pDLENBQUM7S0FBQTtJQUVLLFlBQVksQ0FBQyxFQUFVOztZQUMzQixNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ2hELEtBQUssRUFBRTtvQkFDTCxJQUFJLEVBQUU7d0JBQ0osSUFBSSxFQUFFOzRCQUNKLEtBQUssRUFBRTtnQ0FDTCxFQUFFLEVBQUUsRUFBRTs2QkFDUDt5QkFDRjtxQkFDRjtpQkFDRjthQUNGLENBQUMsQ0FBQTtZQUVGLE9BQU8sT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ2pELENBQUM7S0FBQTtJQUVLLE1BQU0sQ0FBQyxVQUFrQixFQUFFLEtBQWEsRUFBRSxJQUFZOztZQUMxRCxNQUFNLElBQUksR0FBVyxLQUFLLElBQUks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LE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQTthQUMxQztZQUFDLE9BQU8sS0FBSyxFQUFFO2dCQUNkLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7YUFDckI7UUFDSCxDQUFDO0tBQUE7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb2R1Y3QsIFNob3BzIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJ1xyXG5pbXBvcnQgeyBQcm9kdWN0SGFzdXJhR3JhcGhRTCB9IGZyb20gJy4uLy4uL2hhc3VyYS1ncmFwaHFsJ1xyXG5pbXBvcnQgeyBBeGlvc0FkYXB0ZXIgfSBmcm9tICcuLi9hZGFwdGVycydcclxuXHJcbmV4cG9ydCBjbGFzcyBQcm9kdWN0c0luZGV4IHtcclxuICBwcml2YXRlIGluZGV4ID0gYHByb2R1Y3RzYFxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgYWRhcHRlcjogQXhpb3NBZGFwdGVyPFByb2R1Y3Q+KSB7fVxyXG5cclxuICBhc3luYyBnZXRCeUlkKGlkOiBzdHJpbmcpOiBQcm9taXNlPFByb2R1Y3Q+IHtcclxuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLmFkYXB0ZXIuZ2V0KHRoaXMuaW5kZXgsIGlkKVxyXG4gICAgcmV0dXJuIFByb2R1Y3QudG9JbnN0YW5jZShkYXRhKVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgZ2V0QnlBbGxveUlkKGlkOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLmFkYXB0ZXIucXVlcnkodGhpcy5pbmRleCwge1xyXG4gICAgICBxdWVyeToge1xyXG4gICAgICAgIGJvb2w6IHtcclxuICAgICAgICAgIG11c3Q6IHtcclxuICAgICAgICAgICAgbWF0Y2g6IHtcclxuICAgICAgICAgICAgICBpZDogaWQsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICB9KVxyXG5cclxuICAgIHJldHVybiBQcm9kdWN0LnRvSW5zdGFuY2UoZGF0YS5oaXRzWzBdLl9zb3VyY2UpXHJcbiAgfVxyXG5cclxuICBhc3luYyBzZWFyY2goc2VhcmNoVGVybTogc3RyaW5nLCB0b3RhbDogbnVtYmVyLCBzaG9wOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHNpemU6IG51bWJlciA9IHRvdGFsID49IDEwID8gNTAwIDogOVxyXG5cclxuICAgIGNvbnN0IGZpZWxkcyA9IFtcclxuICAgICAgJ0VBTicsXHJcbiAgICAgICdicmFuZCcsXHJcbiAgICAgICdpZCcsXHJcbiAgICAgICdpbWFnZXMnLFxyXG4gICAgICAnbWluaWF0dXJlcycsXHJcbiAgICAgICduYW1lJyxcclxuICAgICAgJ3ByaWNlJyxcclxuICAgICAgJ3NrdScsXHJcbiAgICAgICdzdG9jaycsXHJcbiAgICAgICdzbHVnJyxcclxuICAgICAgJ3Jldmlld3MnLFxyXG4gICAgICAnaGFzVmFyaWFudHMnLFxyXG4gICAgICAncmF0ZScsXHJcbiAgICBdXHJcblxyXG4gICAgY29uc3QgZmlsdGVyOiBBcnJheTx7IHRlcm06IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIHwgYm9vbGVhbiB8IG51bWJlciB9IH0+ID0gW3sgdGVybTogeyBwdWJsaXNoZWQ6IHRydWUgfSB9XVxyXG5cclxuICAgIGlmIChzaXplID4gOSkge1xyXG4gICAgICBmaWVsZHMucHVzaCguLi5bJ3ByaWNlUGFpZCcsICdpc0dpZnQnLCAnc3RvY2snLCAnd2VpZ2h0JywgJ3RhZ3MnXSlcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGZpbHRlci5wdXNoKHsgdGVybTogeyB0YWdzOiBzaG9wID09IFNob3BzLkdMQU1TSE9QID8gJ2ZlbWluaW5vJyA6ICdtYXNjdWxpbm8nIH0gfSlcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBzZWFyY2ggPSBhd2FpdCB0aGlzLmFkYXB0ZXIucXVlcnkodGhpcy5pbmRleCwge1xyXG4gICAgICBib2R5OiB7XHJcbiAgICAgICAgc2l6ZSxcclxuICAgICAgICBfc291cmNlOiBmaWVsZHMsXHJcbiAgICAgICAgcXVlcnk6IHtcclxuICAgICAgICAgIGJvb2w6IHtcclxuICAgICAgICAgICAgbXVzdDoge1xyXG4gICAgICAgICAgICAgIG11bHRpX21hdGNoOiB7XHJcbiAgICAgICAgICAgICAgICBxdWVyeTogYCR7c2VhcmNoVGVybX1gLFxyXG4gICAgICAgICAgICAgICAgZmllbGRzOiBbJ25hbWUnLCAnbmFtZS5mb2xkZWQnLCAnbmFtZS5zZWFyY2gnLCAnZGVzY3JpcHRpb24nLCAnYnJhbmQnXSxcclxuICAgICAgICAgICAgICAgIGZ1enppbmVzczogMixcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBzaG91bGQ6IHtcclxuICAgICAgICAgICAgICBtYXRjaF9waHJhc2VfcHJlZml4OiB7XHJcbiAgICAgICAgICAgICAgICAnbmFtZS5zZWFyY2gnOiB7XHJcbiAgICAgICAgICAgICAgICAgIHF1ZXJ5OiBgJHtzZWFyY2hUZXJtfWAsXHJcbiAgICAgICAgICAgICAgICAgIHNsb3A6IDEwLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBmaWx0ZXIsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICB9KVxyXG5cclxuICAgIHNlYXJjaC5oaXRzID0gc2VhcmNoLmhpdHMuZmlsdGVyKChlOiBhbnkpID0+IGUuX3NvdXJjZS5uYW1lICE9PSAnJylcclxuXHJcbiAgICByZXR1cm4gc2VhcmNoXHJcbiAgfVxyXG5cclxuICBhc3luYyBzYXZlKHByb2R1Y3Q6IFByb2R1Y3RIYXN1cmFHcmFwaFFMKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCB7IGNyZWF0ZWRBdCwgdXBkYXRlZEF0LCBraXRQcm9kdWN0cywgLi4uZGF0YSB9ID0gcHJvZHVjdFxyXG5cclxuICAgICAgdGhpcy5hZGFwdGVyLnNhdmUodGhpcy5pbmRleCwgZGF0YSlcclxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhc3luYyB1cGRhdGUocHJvZHVjdDogUHJvZHVjdEhhc3VyYUdyYXBoUUwpIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIGF3YWl0IHRoaXMuYWRhcHRlci51cGRhdGUodGhpcy5pbmRleCwgcHJvZHVjdC5pZCwgcHJvZHVjdClcclxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhc3luYyBkZWxldGUoaWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdHJ5IHtcclxuICAgICAgYXdhaXQgdGhpcy5hZGFwdGVyLmRlbGV0ZSh0aGlzLmluZGV4LCBpZClcclxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1178,33 +1178,57 @@ class ProductsIndex {
1178
1178
  return Product.toInstance(data.hits[0]._source);
1179
1179
  });
1180
1180
  }
1181
- search(searchTerm) {
1181
+ search(searchTerm, total, shop) {
1182
1182
  return __awaiter(this, void 0, void 0, function* () {
1183
+ const size = total >= 10 ? 500 : 9;
1184
+ const fields = [
1185
+ 'EAN',
1186
+ 'brand',
1187
+ 'id',
1188
+ 'images',
1189
+ 'miniatures',
1190
+ 'name',
1191
+ 'price',
1192
+ 'sku',
1193
+ 'stock',
1194
+ 'slug',
1195
+ 'reviews',
1196
+ 'hasVariants',
1197
+ 'rate',
1198
+ ];
1199
+ const filter = [{ term: { published: true } }];
1200
+ if (size > 9) {
1201
+ fields.push(...['pricePaid', 'isGift', 'stock', 'weight', 'tags']);
1202
+ }
1203
+ else {
1204
+ filter.push({ term: { tags: shop == Shops.GLAMSHOP ? 'feminino' : 'masculino' } });
1205
+ }
1183
1206
  const search = yield this.adapter.query(this.index, {
1184
- query: {
1185
- bool: {
1186
- must: {
1187
- multi_match: {
1188
- query: `${searchTerm}`,
1189
- fields: ['name', 'name.folded', 'name.search', 'description', 'brand'],
1190
- fuzziness: 2,
1191
- },
1192
- },
1193
- should: {
1194
- match_phrase_prefix: {
1195
- 'name.search': {
1207
+ body: {
1208
+ size,
1209
+ _source: fields,
1210
+ query: {
1211
+ bool: {
1212
+ must: {
1213
+ multi_match: {
1196
1214
  query: `${searchTerm}`,
1197
- slop: 10,
1215
+ fields: ['name', 'name.folded', 'name.search', 'description', 'brand'],
1216
+ fuzziness: 2,
1198
1217
  },
1199
1218
  },
1219
+ should: {
1220
+ match_phrase_prefix: {
1221
+ 'name.search': {
1222
+ query: `${searchTerm}`,
1223
+ slop: 10,
1224
+ },
1225
+ },
1226
+ },
1227
+ filter,
1200
1228
  },
1201
- filter: [{ term: { published: true } }],
1202
1229
  },
1203
1230
  },
1204
1231
  });
1205
- search.hits.forEach((row) => {
1206
- row._source.price = Object.assign(Object.assign({}, row._source.price), (!!row._source.price.Glamshop && row._source.price.Glamshop));
1207
- });
1208
1232
  search.hits = search.hits.filter((e) => e._source.name !== '');
1209
1233
  return search;
1210
1234
  });