private QueryFilters createFilters() { List<Query> filterQueries = new ArrayList<>(); if ( !filterDefinitions.isEmpty() ) { for ( FullTextFilterImpl fullTextFilter : filterDefinitions.values() ) { Query filter = buildLuceneFilter( fullTextFilter ); if ( filter != null ) { filterQueries.add( filter ); } } } if ( userFilter != null ) { filterQueries.add( userFilter ); } if ( filterQueries.isEmpty() ) { return QueryFilters.EMPTY_FILTERSET; } else { return new QueryFilters( filterQueries ); } }
private Query rewrittenQuery() throws IOException { if ( rewrittenQuery == null ) { //Apply faceting filters: final Query effectiveQuery = facetingFilters.filterOrPassthrough( userQuery ); rewrittenQuery = effectiveQuery.rewrite( searcher.getIndexReader() ); } return rewrittenQuery; } }
/** * Will wrap the passed Query into a BooleanQuery to apply all filters as boolean clauses. * Returns the unmodified (same instance) of the input if there are no filters to be applied. * @param queryToFilter The query to be filtered. * @return The filtered query. */ public Query filterOrPassthrough(Query queryToFilter) { if ( isEmpty() ) { return queryToFilter; } else { BooleanQuery.Builder boolQueryBuilder = new BooleanQuery.Builder(); boolQueryBuilder.add( queryToFilter, Occur.MUST ); for ( Query bc : filterQueries ) { boolQueryBuilder.add( bc, BooleanClause.Occur.FILTER ); } return boolQueryBuilder.build(); } }
for ( Query query : getFacetManager().getFacetFilters().getFilterQueries() ) { filters.add( ToElasticsearch.fromLuceneQuery( query ) );
/** * Will wrap the passed Query into a BooleanQuery to apply all filters as boolean clauses. * Returns the unmodified (same instance) of the input if there are no filters to be applied. * @param queryToFilter The query to be filtered. * @return The filtered query. */ public Query filterOrPassthrough(Query queryToFilter) { if ( isEmpty() ) { return queryToFilter; } else { BooleanQuery.Builder boolQueryBuilder = new BooleanQuery.Builder(); boolQueryBuilder.add( queryToFilter, Occur.MUST ); for ( Query bc : filterQueries ) { boolQueryBuilder.add( bc, BooleanClause.Occur.FILTER ); } return boolQueryBuilder.build(); } }
for ( Query query : getFacetManager().getFacetFilters().getFilterQueries() ) { filters.add( ToElasticsearch.fromLuceneQuery( query ) );
private Query rewrittenQuery() throws IOException { if ( rewrittenQuery == null ) { //Apply faceting filters: final Query effectiveQuery = facetingFilters.filterOrPassthrough( userQuery ); rewrittenQuery = effectiveQuery.rewrite( searcher.getIndexReader() ); } return rewrittenQuery; } }
private QueryFilters createFilters() { List<Query> filterQueries = new ArrayList<>(); if ( !filterDefinitions.isEmpty() ) { for ( FullTextFilterImpl fullTextFilter : filterDefinitions.values() ) { Query filter = buildLuceneFilter( fullTextFilter ); if ( filter != null ) { filterQueries.add( filter ); } } } if ( userFilter != null ) { filterQueries.add( userFilter ); } if ( filterQueries.isEmpty() ) { return QueryFilters.EMPTY_FILTERSET; } else { return new QueryFilters( filterQueries ); } }
public Explanation explain(QueryFilters filters, int documentId) throws IOException { return searcher.explain( filters.filterOrPassthrough( rewrittenQuery() ), documentId ); }
public QueryFilters getFacetFilters() { if ( facetFilterset == null ) { int size = facetSelection == null ? 0 : facetSelection.values().size(); if ( size != 0 ) { List<Query> filterQueries = new ArrayList<>( size ); for ( FacetSelectionImpl selection : facetSelection.values() ) { if ( !selection.getFacetList().isEmpty() ) { Query selectionGroupQuery = createSelectionGroupQuery( selection ); filterQueries.add( selectionGroupQuery ); } } if ( filterQueries.size() != 0 ) { this.facetFilterset = new QueryFilters( filterQueries ); } else { facetFilterset = QueryFilters.EMPTY_FILTERSET; } } else { facetFilterset = QueryFilters.EMPTY_FILTERSET; } } return facetFilterset; }
public Explanation explain(QueryFilters filters, int documentId) throws IOException { return searcher.explain( filters.filterOrPassthrough( rewrittenQuery() ), documentId ); }
public QueryFilters getFacetFilters() { if ( facetFilterset == null ) { int size = facetSelection == null ? 0 : facetSelection.values().size(); if ( size != 0 ) { List<Query> filterQueries = new ArrayList<>( size ); for ( FacetSelectionImpl selection : facetSelection.values() ) { if ( !selection.getFacetList().isEmpty() ) { Query selectionGroupQuery = createSelectionGroupQuery( selection ); filterQueries.add( selectionGroupQuery ); } } if ( filterQueries.size() != 0 ) { this.facetFilterset = new QueryFilters( filterQueries ); } else { facetFilterset = QueryFilters.EMPTY_FILTERSET; } } else { facetFilterset = QueryFilters.EMPTY_FILTERSET; } } return facetFilterset; }
public void search(final QueryFilters filters, final Collector collector) throws IOException { validateQuery(); QUERY_LOG.executingLuceneQuery( userQuery ); searcher.search( filters.filterOrPassthrough( rewrittenQuery() ), collector ); }
public void search(final QueryFilters filters, final Collector collector) throws IOException { validateQuery(); QUERY_LOG.executingLuceneQuery( userQuery ); searcher.search( filters.filterOrPassthrough( rewrittenQuery() ), collector ); }