【发布时间】:2017-06-07 23:52:57
【问题描述】:
我正在尝试查询 elasticsearch,以了解使用特定产品购买了哪些产品。
我的数据从平面文件进入 logstash。
OrderNumber ProductName
order1 Chicken
order2 Banana
order3 Chicken
order1 Cucumber
order2 Chicken
order3 Apples
order1 Flour
order2 Rice
order3 Nuts
正如您在上面看到的,我有一个 产品名称 Chicken,它出现在不同的订单号中。
OrderNumber ProductName
order1 Chicken
order3 Chicken
order2 Chicken
这就是我想要实现的目标:
第 1 步:查找所有包含鸡肉的订单号
OrderNumber ProductName
order1 Chicken
order3 Chicken
order2 Chicken
第 2 步:如果上述订单中有鸡肉,请将所有其他与它一起购买的产品都给我
结果:
OrderNumber ProductName
order1 Cucumber
order2 Banana
order3 Apples
order1 Flour
order2 Rice
order3 Nuts
这是我迄今为止为 Step1 所做的尝试:
查询
{
"query" : {
"match" : {
"ProductName" : "Chicken"
}
}
}
结果
"hits" : {
"total" : 3,
"max_score" : 11.378191,
"hits" : [ {
"_index" : "hello",
"_type" : "logs",
"_id" : "AVmxaChupyZuCjD89xPX",
"_score" : 11.378191,
"_source" : {
"message" : "order1\Chicken\r",
"path" : "C:\\utils\\Elk\\logstash\\bin\\product.log",
"OrderNumber" : "order1",
"ProductName" : "Chicken\r"
}}, {
"_index" : "hello",
"_type" : "logs",
"_id" : "AVmxaChupyZuCjD89xPX",
"_score" : 11.378191,
"_source" : {
"message" : "order3\Chicken\r",
"path" : "C:\\utils\\Elk\\logstash\\bin\\product.log",
"OrderNumber" : "order3",
"ProductName" : "Chicken\r"
}
}, {
"_index" : "hello",
"_type" : "logs",
"_id" : "AVmxaChupyZuCjD89xPX",
"_score" : 11.378191,
"_source" : {
"message" : "order2\Chicken\r",
"path" : "C:\\utils\\Elk\\logstash\\bin\\product.log",
"OrderNumber" : "order2",
"ProductName" : "Chicken\r"
}
我对如何完成第 2 步感到非常困惑,因为我是 Elasticsearch 的新手,请帮忙?
谢谢
【问题讨论】:
标签: json elasticsearch logstash elastic-stack