@Override public Document getDocument(T object) throws SearchException { try { Document document = doGetDocument(object); for (IndexerPostProcessor indexerPostProcessor : _indexerPostProcessors) { indexerPostProcessor.postProcessDocument(document, object); } if (document == null) { return null; } Map<String, Field> fields = document.getFields(); Field groupIdField = fields.get(Field.GROUP_ID); if (groupIdField != null) { long groupId = GetterUtil.getLong(groupIdField.getValue()); addStagingGroupKeyword(document, groupId); } return document; } catch (SearchException se) { throw se; } catch (Exception e) { throw new SearchException(e); } }
private void _addSearchTerms( BooleanQuery searchQuery, BooleanFilter fullQueryBooleanFilter, SearchContext searchContext) throws Exception { postProcessSearchQuery( searchQuery, fullQueryBooleanFilter, searchContext); for (IndexerPostProcessor indexerPostProcessor : _indexerPostProcessors) { indexerPostProcessor.postProcessSearchQuery( searchQuery, fullQueryBooleanFilter, searchContext); } }
@Override public Summary getSummary( Document document, String snippet, PortletRequest portletRequest, PortletResponse portletResponse) throws SearchException { try { Locale locale = getLocale(portletRequest); Summary summary = doGetSummary( document, locale, snippet, portletRequest, portletResponse); for (IndexerPostProcessor indexerPostProcessor : _indexerPostProcessors) { indexerPostProcessor.postProcessSummary( summary, document, locale, snippet); } return summary; } catch (SearchException se) { throw se; } catch (Exception e) { throw new SearchException(e); } }
indexer.getIndexerPostProcessors()) { indexerPostProcessor.postProcessSearchQuery( searchQuery, fullQueryBooleanFilter, searchContext); indexer.getIndexerPostProcessors()) { indexerPostProcessor.postProcessFullQuery( fullQuery, searchContext);
indexer.getIndexerPostProcessors()) { indexerPostProcessor.postProcessContextBooleanFilter( relatedBooleanFilter, searchContext);
private void _postProcessFullQuery( Map<String, Indexer<?>> entryClassNameIndexerMap, BooleanQuery fullQuery, SearchContext searchContext) throws Exception { for (Indexer<?> indexer : entryClassNameIndexerMap.values()) { for (IndexerPostProcessor indexerPostProcessor : indexer.getIndexerPostProcessors()) { indexerPostProcessor.postProcessFullQuery( fullQuery, searchContext); } } }
/** * @deprecated As of Wilberforce (7.0.x), added strictly to support * backwards compatibility of {@link * Indexer#postProcessContextQuery(BooleanQuery, SearchContext)} */ @Deprecated protected void postProcessContextQuery( BooleanFilter entityFilter, SearchContext searchContext, Indexer<?> indexer) throws Exception { BooleanQuery entityBooleanQuery = new BooleanQueryImpl(); indexer.postProcessContextQuery(entityBooleanQuery, searchContext); for (IndexerPostProcessor indexerPostProcessor : indexer.getIndexerPostProcessors()) { indexerPostProcessor.postProcessContextQuery( entityBooleanQuery, searchContext); } if (entityBooleanQuery.hasClauses()) { QueryFilter queryFilter = new QueryFilter(entityBooleanQuery); entityFilter.add(queryFilter, BooleanClauseOccur.MUST); } }
indexer.getIndexerPostProcessors()) { indexerPostProcessor.postProcessContextBooleanFilter( entityBooleanFilter, searchContext);
_indexerPostProcessors) { indexerPostProcessor.postProcessFullQuery( fullBooleanQuery, searchContext);
/** * @deprecated As of Wilberforce (7.0.x), added strictly to support * backwards compatibility of {@link * Indexer#postProcessContextQuery(BooleanQuery, SearchContext)} */ @Deprecated protected void postProcessContextQuery( BooleanFilter relatedBooleanFilter, SearchContext searchContext, Indexer<?> indexer) throws Exception { BooleanQuery entityQuery = new BooleanQueryImpl(); indexer.postProcessContextQuery(entityQuery, searchContext); for (IndexerPostProcessor indexerPostProcessor : indexer.getIndexerPostProcessors()) { indexerPostProcessor.postProcessContextQuery( entityQuery, searchContext); } if (entityQuery.hasClauses()) { QueryFilter queryFilter = new QueryFilter(entityQuery); relatedBooleanFilter.add(queryFilter, BooleanClauseOccur.MUST); } }
/** * @deprecated As of Wilberforce (7.0.x), added strictly to support * backwards compatibility of {@link * Indexer#postProcessSearchQuery(BooleanQuery, SearchContext)} */ @Deprecated protected void doPostProcessSearchQuery( Indexer<?> indexer, BooleanQuery searchQuery, SearchContext searchContext) throws Exception { indexer.postProcessSearchQuery(searchQuery, searchContext); for (IndexerPostProcessor indexerPostProcessor : indexer.getIndexerPostProcessors()) { indexerPostProcessor.postProcessSearchQuery( searchQuery, searchContext); } }
private void _addIndexerProvidedPreFilters( BooleanFilter booleanFilter, Indexer<?> indexer, SearchContext searchContext) { try { indexer.postProcessContextBooleanFilter( booleanFilter, searchContext); for (IndexerPostProcessor indexerPostProcessor : indexer.getIndexerPostProcessors()) { indexerPostProcessor.postProcessContextBooleanFilter( booleanFilter, searchContext); } } catch (RuntimeException re) { throw re; } catch (Exception e) { throw new SystemException(e); } }
protected void postProcessFullQuery( BooleanQuery booleanQuery, SearchContext searchContext) { Stream<IndexerPostProcessor> stream = _indexerPostProcessorsHolder.stream(); stream.forEach( indexerPostProcessor -> { try { indexerPostProcessor.postProcessFullQuery( booleanQuery, searchContext); } catch (RuntimeException re) { throw re; } catch (Exception e) { throw new SystemException(e); } }); }
@Override public Summary getSummary( Document document, String snippet, Locale locale) { if (_modelSummaryContributor == null) { return null; } Summary summary = _modelSummaryContributor.getSummary( document, locale, snippet); Stream<IndexerPostProcessor> stream = _indexerPostProcessorsHolder.stream(); stream.forEach( indexerPostProcessor -> indexerPostProcessor.postProcessSummary( summary, document, locale, snippet)); return summary; }
protected <T extends BaseModel<?>> void postProcessDocument( Document document, T baseModel) { Stream<IndexerPostProcessor> stream = _indexerPostProcessorsHolder.stream(); stream.forEach( indexerPostProcessor -> { try { indexerPostProcessor.postProcessDocument( document, baseModel); } catch (Exception e) { if (_log.isWarnEnabled()) { _log.warn( "Unable to post process document " + document, e); } } }); }
private void _addSearchTermsFromIndexerPostProcessors( BooleanQuery booleanQuery, BooleanFilter booleanFilter, SearchContext searchContext) { Stream<IndexerPostProcessor> stream = _indexerPostProcessorsHolder.stream(); stream.forEach( indexerPostProcessor -> { try { indexerPostProcessor.postProcessSearchQuery( booleanQuery, booleanFilter, searchContext); } catch (RuntimeException re) { throw re; } catch (Exception e) { throw new SystemException(e); } }); }
private void _addIndexerProvidedSearchTerms( BooleanQuery searchQuery, Indexer<?> indexer, BooleanFilter booleanFilter, boolean luceneSyntax, SearchContext searchContext) throws Exception { if (!luceneSyntax) { indexer.postProcessSearchQuery( searchQuery, booleanFilter, searchContext); } for (IndexerPostProcessor indexerPostProcessor : indexer.getIndexerPostProcessors()) { indexerPostProcessor.postProcessSearchQuery( searchQuery, booleanFilter, searchContext); } }