1
私はElasticSearchのJava APIに次のクエリを変換しようとしています "べき":ElasticSearchのJava APIは、Array
GET /consumer/_search
{
"query": {
"bool": {
"should": [
{
"bool": {
"must": [
{
"match": {
"first_name": {
"query": "Peter"
}
}
},
{
"match": {
"last_name": {
"query": "Parker"
}
}
}
]
}
},
{
"bool": {
"must": [
{
"match": {
"first_name": {
"query": "Parker"
}
}
},
{
"match": {
"last_name": {
"query": "Peter"
}
}
}
]
}
}
]
}
}
}
は、私は次のことを試してみました:
query = QueryBuilders.boolQuery()
.should(QueryBuilders.boolQuery()
.must(QueryBuilders.matchQuery("first_name", "Peter").type(null))
.must(QueryBuilders.matchQuery("last_name""Parker").type(null))
.must(QueryBuilders.matchQuery("first_name","Parker").type(null))
.must(QueryBuilders.matchQuery("last_name","Peter").type(null)))
私も試してみました:
.should(QueryBuilders.boolQuery()
.must(QueryBuilders.matchQuery("first_name", "Peter").type(null))
.must(QueryBuilders.matchQuery("last_name", "Parker").type(null))
.should(QueryBuilders.boolQuery()
.must(QueryBuilders.matchQuery("first_name", "Parker").type(null))
.must(QueryBuilders.matchQuery("last_name", "Peter").type(null))))
しかし、私が作成したのと同じクエリが生成されていません。どのように私はこれを作成することができますか?いくつかの単語で
、最初のクエリは、次のことをやっている:
Select * from consumer where first_name='Peter' and last_name='Parker' OR first_name='Parker' and last_name='Peter'
は、私はあなたの第二の試みが近くだったと思うあなた