Elasticsearch - 以最低价格进行电子商店分类

时间:2015-07-28 07:50:58

标签: elasticsearch nosql

我想问一下在elasticsearch中搜索/排序的最佳解决方案。让我们想象一下大约50 00+卡的目录。 每张卡的价格在价格表的维度内约为20个价格表。所以我创建了这样的文档:

{
    “catalog_number”: “XYZ”,
    “url”: “http://xyz”,
    “…”: “…”,
    “price”: [
        {“pricelist”: {“id”: “X”, “name”: “pricelist_a”}, “value”: 5000, “currency”: {“key”: “EUR”, “id”: “X”}},
        {“pricelist”: {“id”: “Y”, “name”: “pricelist_b”}, “value”: 4900, “currency”: {“key”: “EUR”, “id”: “X”}},
        {“pricelist”: {“id”: “Z”, “name”: “pricelist_c”}, “value”: 4800, “currency”: {“key”: “EUR”, “id”: “X”}}
        , … 20 times …
    ]
}

然后我们想创建用户特定的价格,这就是我的情况。想象一下5 000多个用户,每个特征价格与每个价目表维度。

{
    “catalog_number”: “XYZ”,
    “url”: “http://xyz”,
    “…”: “…”,
    “price”: [
        {“pricelist”: {“id”: “X”, “name”: “pricelist_a”}, “value”: 5000, “currency”: {“key”: “EUR”, “id”: “X”}},
        {“pricelist”: {“id”: “Y”, “name”: “pricelist_b”}, “value”: 4900, “currency”: {“key”: “EUR”, “id”: “X”}},
        {“pricelist”: {“id”: “Z”, “name”: “pricelist_c”}, “value”: 4800, “currency”: {“key”: “EUR”, “id”: “X”}}
        , … 20*5000 times … ?!
    ]
}

首先,我想到了亲子文件的概念,每次价格变更时父母文件(卡片)都不会被覆盖,父文件尺寸保持不变。但是我不能按照子文件的价值对父母文件进行排序。

现在让我们想象一下电子商店和登录用户。用户查看卡片并点击按价格排序。您建议我使用哪种解决方案?

a)同一文件内的商店价格(大型文件+每次价格更改版本)但排序工作 b)亲子文件的大小和价格金额是好的,但排序不起作用 c)?

感谢您的任何想法或建议。

0 个答案:

没有答案