You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
elasticsearch 0.90.3
org.elasticsearch.search.facet.FacetExecutor$Post$Filtered, line 66
for (int i = 0; i < docSets.size(); i++) {
ContextDocIdSet entry = docSets.get(i);
DocIdSet filteredSet = filter.getDocIdSet(entry.context, null);
filteredEntries.add(new ContextDocIdSet(
entry.context,
// TODO: can we be smart here, maybe AndDocIdSet is not always fastest?
new AndDocIdSet(new DocIdSet[]{entry.docSet, filteredSet})
));
}
From the JavaDoc for Filter: NOTE: null can be returned if no documents are accepted by this Filter
So, the filteredSet object can be null. It is then passed into the constructor of the AndDocIdSet, which can cause a null pointer exception during the execution of the POST facet.
The solution is that if filteredSet is null then the current ContextDocIdSet can be ignored.
if (filteredSet == null) continue;
I replicated this issue with the following query (where the filter facet does match a term in the index, but the facet filter does not):
elasticsearch 0.90.3
org.elasticsearch.search.facet.FacetExecutor$Post$Filtered, line 66
From the JavaDoc for Filter:
NOTE: null can be returned if no documents are accepted by this Filter
So, the filteredSet object can be null. It is then passed into the constructor of the AndDocIdSet, which can cause a null pointer exception during the execution of the POST facet.
The solution is that if filteredSet is null then the current ContextDocIdSet can be ignored.
I replicated this issue with the following query (where the filter facet does match a term in the index, but the facet filter does not):
The text was updated successfully, but these errors were encountered: