@Override public Query createQuery() { final int size = fieldContexts.size(); if (size == 1) { return queryCustomizer.setWrappedQuery(createQuery(fieldContexts.get(0))).createQuery(); } else { BooleanQuery.Builder aggregatedFieldsQueryBuilder = new BooleanQuery.Builder(); for (FieldContext fieldContext : fieldContexts) { aggregatedFieldsQueryBuilder.add(createQuery(fieldContext), BooleanClause.Occur.SHOULD); } BooleanQuery aggregatedFieldsQuery = aggregatedFieldsQueryBuilder.build(); return queryCustomizer.setWrappedQuery(aggregatedFieldsQuery).createQuery(); } }