Skip to content

Commit c33ca29

Browse files
committed
small optimization for global facet with facet filter, by removing the double check on the facet filter
1 parent f03ff29 commit c33ca29

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

src/main/java/org/elasticsearch/search/facet/AbstractFacetCollector.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,12 @@ public Filter getFilter() {
4848
return this.filter;
4949
}
5050

51+
public Filter getAndClearFilter() {
52+
Filter filter = this.filter;
53+
this.filter = null;
54+
return filter;
55+
}
56+
5157
@Override
5258
public void setFilter(Filter filter) {
5359
if (this.filter == null) {

src/main/java/org/elasticsearch/search/facet/FacetPhase.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,9 @@ public void execute(SearchContext context) throws ElasticSearchException {
103103
if (collector instanceof AbstractFacetCollector) {
104104
AbstractFacetCollector facetCollector = (AbstractFacetCollector) collector;
105105
if (facetCollector.getFilter() != null) {
106-
filter = facetCollector.getFilter();
106+
// we can clear the filter, since we are anyhow going to iterate over it
107+
// so no need to double check it...
108+
filter = facetCollector.getAndClearFilter();
107109
}
108110
}
109111
List<Collector> list = filtersByCollector.get(filter);

0 commit comments

Comments
 (0)