type A = 1 | 2 | 3
type B = 4 | 5 & A
type C = A & 4 | 5
type D = A & (4 | 5)
type E = (4 | 5) & A
type X = 1 | 2 | 3 | 4 | 5
typeX
是我预期的结果。
TypeB
是TypeC
我做过的尝试,但都失败了。
正确的方法是什么?
type A = 1 | 2 | 3
type B = 4 | 5 & A
type C = A & 4 | 5
type D = A & (4 | 5)
type E = (4 | 5) & A
type X = 1 | 2 | 3 | 4 | 5
typeX
是我预期的结果。
TypeB
是TypeC
我做过的尝试,但都失败了。
正确的方法是什么?
我希望实现以下rest api:
POST /t_source_item/_search?typed_keys=true&search_type=query_then_fetch
{
"query": {
"bool": {
"filter": [
{
"term": {
"tags.id": {
"value": "1"
}
}
},
{
"term": {
"tags.id": {
"value": "2"
}
}
}
]
}
}
}
下面是我写的代码:
import org.springframework.data.elasticsearch.client.elc.NativeQuery
val query = NativeQuery.builder().withQuery { q1 ->
q1.bool { b ->
b.filter { q2 ->
q2.term { tq ->
listOf(1L, 2L).forEach { t ->
tq.field("tags.id").value(t)
}
tq
}
}
}
}.build()
val searchHits = elasticsearchOperations.search(query, Book::class.java)
但我总是只得到最后一个term
而不是多个term
,其余的api结果如下:
{
"query": {
"bool": {
"filter": [
{
"term": {
"tags.id": {
"value": 2
}
}
}
]
}
}
}
正确的做法应该是什么?我正在使用spring-data-elasticsearch:5.0.3
.