es搜索 must should

https://www.cnblogs.com/pilihaotian/p/5830754.html

  • 我要查询的组合条件是b=82 || (b=0 && a = 0) || (b=0 && a=100) ,es5.0这个must和should的Java代码怎么写?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{"query": {
"bool": {
"should": [
{"bool": {
"must": [
{}
]
}
},
{"bool": {
"must": [
{}
]
}}
]
}
}
}
  • must和should查询的组合条件是is_black=2 && (black_type= 10 || black_type = 9 || operating_state == 8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
2018-08-15 18:20:59::[INFO]    array (
'index' => 'platform',
'type' => 'info',
'sort' =>
array (
0 => 'black_time:desc',
),
'size' => 30,
'from' => 0,
'body' =>
array (
'query' =>
array (
'bool' =>
array (
'must' =>
array (
0 =>
array (
'bool' =>
array (
'should' =>
array (
0 =>
array (
'match' =>
array (
'black_type' => 10,
),
),
1 =>
array (
'match' =>
array (
'black_type' => 9,
),
),
2 =>
array (
'match' =>
array (
'operating_state' => 8,
),
),
),
),
),
1 =>
array (
0 =>
array (
'term' =>
array (
'is_black' => 2,
),
),
),
),
),
),
),
)::
2018-08-15 18:20:59::[INFO] array (
'index' => 'platform',
'type' => 'info',
'sort' =>
array (
0 => 'black_time:desc',
),
'size' => 30,
'from' => 0,
'body' =>
array (
'query' =>
array (
'bool' =>
array (
'must' =>
array (
0 =>
array (
'term' =>
array (
'is_black' => 1,
),
),
),
'must_not' =>
array (
0 =>
array (
0 =>
array (
'term' =>
array (
'operating_state_combination' => 1,
),
),
),
),
),
),
),
)::