我是Elastic搜索的新手,需要ES查询的帮助。我有一个ElasticSearch索引,记录如下(排序的基础上时间戳)
| 存储ID| BookStoreName|机架ID|机架名称|BookID|图书名称| BookName |
| --|--|--|--|--|--| ------------ |
| 122r3| ABC| 122r34| XYZ| 122e33r| ABC| abc |
| 122r3| ABCD| 122r35| XYZA| 1298e33r| Hb78| hb78 |
| 122r3| ABCE| 122r34| XYZ1| 9086795s| 8hb7| 8hb7 |
| 122r3| ABCF| 122r34| XYZ2| 132lkg h| Kho97| kho97 |
在此文档中,对于单个StoreID,可以有多个RackID,并且在此组合中将有大量可用数据(BookID和BookName)。查找ES查询以查找StoreID和RackID组合的最新记录。例如,这里的StoreID(122 r3)和RackID(122 r34)有3条记录,需要获取低于1的最新记录。
| 122r3| ABC| 122r34| XYZ| 122e33r| ABC| abc |
我正在使用Elastic search 7 &尝试Bool Must query,它返回所有记录。只需要基于时间戳的最新记录。
还可以获得多个组合的结果,以便使用单个查询可以获取所有StoreID和RackID组合的最新记录。
1条答案
按热度按时间rta7y2nd1#
有两种方法可以实现最新记录。
size
+sort
(按时间戳)top_hits
聚合以下是一个示例:
创建索引
字符串
size
+sort
按时间戳型
top_hits
聚合型
编辑:
型
的数据
1.编辑
型