我正在使用 AWS OpenSearch 数据库,它是 Elasticsearch 的一个分支。我的用例如下:
variations
字段,该字段是同一 ProductGroupId 中所有其他产品的 ID 列表我目前的想法是我将分两步执行查询:
variations
字段(可以进行一些优化以最大程度地减少productGroupId查找次数,但这不是重点)您对如何设计搜索索引或我可以用来提高效率的一些查询有什么建议吗?
我建议您创建两个索引。一个将保留所有与产品相关的详细信息,另一个将跟踪给定
product
的所有 productGroupId
变体。这些索引的文件将具有以下结构。
产品
{
id: "",
name: "",
brand: "",
productGroupId: ""
}
产品组变体
{
id: "" //productGroupId,
variations: [] // list of product ID's
}
使用此结构,当获取
product
时,您可以再次调用 variations
索引来获取 productGroupVariations
。
此外,每当添加、更新或删除
variations
时,请确保更新 product
数组。