mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-02-09 22:45:04 +00:00
Remove the useless inner class Clause
This commit is contained in:
parent
63ff39425a
commit
198b219baf
@ -143,7 +143,7 @@ public class TransportMoreLikeThisAction extends BaseAction<MoreLikeThisRequest,
|
|||||||
parseSource(getResponse, boolBuilder, docMapper, fields, request);
|
parseSource(getResponse, boolBuilder, docMapper, fields, request);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (boolBuilder.clauses().isEmpty()) {
|
if (!boolBuilder.hasClauses()) {
|
||||||
// no field added, fail
|
// no field added, fail
|
||||||
listener.onFailure(new ElasticSearchException("No fields found to fetch the 'likeText' from"));
|
listener.onFailure(new ElasticSearchException("No fields found to fetch the 'likeText' from"));
|
||||||
return;
|
return;
|
||||||
|
@ -19,7 +19,6 @@
|
|||||||
|
|
||||||
package org.elasticsearch.index.query.xcontent;
|
package org.elasticsearch.index.query.xcontent;
|
||||||
|
|
||||||
import org.apache.lucene.search.BooleanClause;
|
|
||||||
import org.elasticsearch.common.xcontent.XContentBuilder;
|
import org.elasticsearch.common.xcontent.XContentBuilder;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@ -33,11 +32,11 @@ import java.util.List;
|
|||||||
*/
|
*/
|
||||||
public class BoolQueryBuilder extends BaseQueryBuilder {
|
public class BoolQueryBuilder extends BaseQueryBuilder {
|
||||||
|
|
||||||
private ArrayList<Clause> mustClauses = new ArrayList<Clause>();
|
private ArrayList<XContentQueryBuilder> mustClauses = new ArrayList<XContentQueryBuilder>();
|
||||||
|
|
||||||
private ArrayList<Clause> mustNotClauses = new ArrayList<Clause>();
|
private ArrayList<XContentQueryBuilder> mustNotClauses = new ArrayList<XContentQueryBuilder>();
|
||||||
|
|
||||||
private ArrayList<Clause> shouldClauses = new ArrayList<Clause>();
|
private ArrayList<XContentQueryBuilder> shouldClauses = new ArrayList<XContentQueryBuilder>();
|
||||||
|
|
||||||
private float boost = -1;
|
private float boost = -1;
|
||||||
|
|
||||||
@ -49,7 +48,7 @@ public class BoolQueryBuilder extends BaseQueryBuilder {
|
|||||||
* Adds a query that <b>must</b> appear in the matching documents.
|
* Adds a query that <b>must</b> appear in the matching documents.
|
||||||
*/
|
*/
|
||||||
public BoolQueryBuilder must(XContentQueryBuilder queryBuilder) {
|
public BoolQueryBuilder must(XContentQueryBuilder queryBuilder) {
|
||||||
mustClauses.add(new Clause(queryBuilder, BooleanClause.Occur.MUST));
|
mustClauses.add(queryBuilder);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -57,7 +56,7 @@ public class BoolQueryBuilder extends BaseQueryBuilder {
|
|||||||
* Adds a query that <b>must not</b> appear in the matching documents.
|
* Adds a query that <b>must not</b> appear in the matching documents.
|
||||||
*/
|
*/
|
||||||
public BoolQueryBuilder mustNot(XContentQueryBuilder queryBuilder) {
|
public BoolQueryBuilder mustNot(XContentQueryBuilder queryBuilder) {
|
||||||
mustNotClauses.add(new Clause(queryBuilder, BooleanClause.Occur.MUST_NOT));
|
mustNotClauses.add(queryBuilder);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -69,7 +68,7 @@ public class BoolQueryBuilder extends BaseQueryBuilder {
|
|||||||
* @see #minimumNumberShouldMatch(int)
|
* @see #minimumNumberShouldMatch(int)
|
||||||
*/
|
*/
|
||||||
public BoolQueryBuilder should(XContentQueryBuilder queryBuilder) {
|
public BoolQueryBuilder should(XContentQueryBuilder queryBuilder) {
|
||||||
shouldClauses.add(new Clause(queryBuilder, BooleanClause.Occur.SHOULD));
|
shouldClauses.add(queryBuilder);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -109,15 +108,10 @@ public class BoolQueryBuilder extends BaseQueryBuilder {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A list of the current clauses. Its modification has no consequence on
|
* Return <code>true</code> if the query being built has no clause yet
|
||||||
* the composition of the boolean query
|
|
||||||
*/
|
*/
|
||||||
public List<Clause> clauses() {
|
public boolean hasClauses() {
|
||||||
ArrayList<Clause> all = new ArrayList<Clause>();
|
return !mustClauses.isEmpty() || !mustNotClauses.isEmpty() || !shouldClauses.isEmpty();
|
||||||
all.addAll(mustClauses);
|
|
||||||
all.addAll(mustNotClauses);
|
|
||||||
all.addAll(shouldClauses);
|
|
||||||
return all;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override protected void doXContent(XContentBuilder builder, Params params) throws IOException {
|
@Override protected void doXContent(XContentBuilder builder, Params params) throws IOException {
|
||||||
@ -137,29 +131,20 @@ public class BoolQueryBuilder extends BaseQueryBuilder {
|
|||||||
builder.endObject();
|
builder.endObject();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void doXArrayContent(String field, List<Clause> clauses, XContentBuilder builder, Params params) throws IOException {
|
private void doXArrayContent(String field, List<XContentQueryBuilder> clauses, XContentBuilder builder, Params params) throws IOException {
|
||||||
if (clauses.isEmpty()) {
|
if (clauses.isEmpty()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (clauses.size() == 1) {
|
if (clauses.size() == 1) {
|
||||||
builder.field(field);
|
builder.field(field);
|
||||||
clauses.get(0).queryBuilder.toXContent(builder, params);
|
clauses.get(0).toXContent(builder, params);
|
||||||
} else {
|
} else {
|
||||||
builder.startArray(field);
|
builder.startArray(field);
|
||||||
for (Clause clause : clauses) {
|
for (XContentQueryBuilder clause : clauses) {
|
||||||
clause.queryBuilder.toXContent(builder, params);
|
clause.toXContent(builder, params);
|
||||||
}
|
}
|
||||||
builder.endArray();
|
builder.endArray();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static class Clause {
|
|
||||||
final XContentQueryBuilder queryBuilder;
|
|
||||||
final BooleanClause.Occur occur;
|
|
||||||
|
|
||||||
private Clause(XContentQueryBuilder queryBuilder, BooleanClause.Occur occur) {
|
|
||||||
this.queryBuilder = queryBuilder;
|
|
||||||
this.occur = occur;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user