elasticsearch Elasticsearch-电子商店按最低价格排序,elasticsearch,nosql,elasticsearch,Nosql" /> elasticsearch Elasticsearch-电子商店按最低价格排序,elasticsearch,nosql,elasticsearch,Nosql" />

elasticsearch Elasticsearch-电子商店按最低价格排序

elasticsearch Elasticsearch-电子商店按最低价格排序,elasticsearch,nosql,elasticsearch,Nosql,我想问一下elasticsearch中搜索/排序的最佳解决方案。让我们想象一下,大约有50000张以上的卡片。 每张卡的价格都在价格表的维度内,大约有20个价格表。所以我创建了如下文档: { “catalog_number”: “XYZ”, “url”: “http://xyz”, “…”: “…”, “price”: [ {“pricelist”: {“id”: “X”, “name”: “pricelist_a”}, “value”: 5000

我想问一下elasticsearch中搜索/排序的最佳解决方案。让我们想象一下,大约有50000张以上的卡片。 每张卡的价格都在价格表的维度内,大约有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 …
    ]
}
然后,我们想创建特定于用户的价格,下面是我的案例。想象一下,5000多名用户在每个价格表维度上都有特定的价格

{
    “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) ?

谢谢你的任何想法或建议