我目前尝试使用 Elasticsearch 重要术语聚合来构建产品推荐系统的原型。到目前为止,我还没有找到一个很好的例子来处理来自关系数据库的“平面”JSON结构sales
(这里:The itemId
),比如我的:
文件 1
{
"lineItemId": 1,
"lineNo": 1,
"itemId": 1,
"productId": 1234,
"userId": 4711,
"salesQuantity": 2,
"productPrice": 0.99,
"salesGross": 1.98,
"salesTimestamp": 1234567890
}
文件 2
{
"lineItemId": 1,
"lineNo": 2,
"itemId": 1,
"productId": 1235,
"userId": 4711,
"salesQuantity": 1,
"productPrice": 5.99,
"salesGross": 5.99,
"salesTimestamp": 1234567890
}
我的 Elasticsearch 索引中有大约 150 万份此类文档。AlineItem
是 a 的一部分sale
(由 标识itemId
),它可以由 1 个或多个组成lineItems
我想收到的是,比如说,在销售一个特定的productId
.
MovieLens 示例 ( https://www.elastic.co/guide/en/elasticsearch/guide/current/_significant_terms_demo.html ) 处理结构中的数据
{
"movie": [122,185,231,292,
316,329,355,356,362,364,370,377,420,
466,480,520,539,586,588,589,594,616
],
"user": 1
}
所以不幸的是,它对我来说并不是很有用。对于使用我的“扁平”结构的示例或建议,我将非常高兴。提前非常感谢。