我想问一下在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)?
感谢您的任何想法或建议。