Skip to content
This repository was archived by the owner on Feb 27, 2021. It is now read-only.

Commit b920743

Browse files
committed
fixed nested query using OR operators to using AND
1 parent 93d7dd9 commit b920743

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@
6363
<dependency>
6464
<groupId>com.erudika</groupId>
6565
<artifactId>para-core</artifactId>
66-
<version>1.38.1</version>
66+
<version>1.38.3</version>
6767
<scope>provided</scope>
6868
</dependency>
6969
<dependency>

src/main/java/com/erudika/para/search/ElasticSearchUtils.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@
8686
import org.elasticsearch.common.xcontent.XContentType;
8787
import org.elasticsearch.index.query.BoolQueryBuilder;
8888
import org.elasticsearch.index.query.NestedQueryBuilder;
89+
import org.elasticsearch.index.query.Operator;
8990
import org.elasticsearch.index.query.QueryBuilder;
9091
import org.elasticsearch.index.query.QueryBuilders;
9192
import static org.elasticsearch.index.query.QueryBuilders.boolQuery;
@@ -1314,8 +1315,8 @@ static QueryBuilder keyValueBoolQuery(String k, String v, QueryBuilder query) {
13141315
if (StringUtils.isBlank(k) || (query == null && StringUtils.isBlank(v))) {
13151316
return matchAllQuery();
13161317
}
1317-
QueryBuilder kQuery = matchQuery(PROPS_PREFIX + "k", getNestedKey(k));
1318-
QueryBuilder vQuery = (query == null) ? matchQuery(getValueFieldName(v), v) : query;
1318+
QueryBuilder kQuery = matchQuery(PROPS_PREFIX + "k", getNestedKey(k)).operator(Operator.AND);
1319+
QueryBuilder vQuery = (query == null) ? matchQuery(getValueFieldName(v), v).operator(Operator.AND) : query;
13191320
if ("*".equals(v) || matchAllQuery().equals(query)) {
13201321
return boolQuery().must(kQuery);
13211322
}

0 commit comments

Comments
 (0)