我的数据库是这样的:
hits:[
{"x1": 5, "x2": 6, "x3": 7, "x4": 8, "y1": 1, "y2": 2, "y3": 6, "y4": 5},
{"x1": 5, "x2": 6, "x3": 1, "x4": 8, "y1": 1, "y2": 2, "y3": 3, "y4": 5}]
首先:我希望获得结果最大组X(x1,x2,x3,x4)
- 最小组X(x1,x2,x3,x4)
,最大组Y(y1, y2, y3, y4)
- 最小组Y(y1, y2, y3, y4)
基于每次点击,
max groupX(5,6,7,8) = 8
min groupX(5,6,7,8) = 5
max groupY(1,2,6,5) = 6
min groupY(1,2,6,5) = 1
并期待每次点击:maxX - minX, maxY - minY so: (8-5), (6-1) = 3, 5
与命中第二名相似。
总预期结果:
3, 5
7, 4
继续,我希望每列最多。所以最终期望的结果如下:
7, 5.
所以在ElasticSearch中,我还不知道如何使用它。 请帮帮忙。非常感谢你。 对不起,如果我不能说明问题很简单,因为我的英语资格太差了。
因此,当在ElasticSearch中查询时,我不知道如何获得Max和Caculator。在sql中,我可以
SELECT MAX(T2.MaxX) AS MAXHEIGHT, MAX(T2.MaxY) AS MAXWIDTH
FROM
(
SELECT
( SELECT MAX(value.x) - MIN(value.x)
FROM (VALUES
(x1),(x2),(x3),(x4)) AS value(x)) AS MaxX,
( SELECT MAX(value.y) - MIN(value.y)
FROM (VALUES
(y1),(y2),(y3),(y4)) AS value(y)) AS MaxY
FROM (T1) T2