Package org.ametys.cms.search.solr
Class SolrQuerySearchAction
- java.lang.Object
-
- org.apache.avalon.framework.logger.AbstractLogEnabled
-
- org.apache.cocoon.acting.AbstractAction
-
- org.apache.cocoon.acting.ServiceableAction
-
- org.ametys.cms.search.cocoon.SearchAction
-
- org.ametys.cms.search.solr.SolrQuerySearchAction
-
- All Implemented Interfaces:
Component
,Contextualizable
,LogEnabled
,Serviceable
,Action
public class SolrQuerySearchAction extends SearchAction
Execute a solr query with custom columns and facets.
-
-
Field Summary
Fields Modifier and Type Field Description protected ColumnHelper
_columnHelper
The helper for columnsprotected ContentTypesHelper
_contentTypesHelper
The content types helper.-
Fields inherited from class org.ametys.cms.search.cocoon.SearchAction
_contentTypeExtensionPoint, _context, _getQueryFromJSONHelper, _queryBuilder, _searcherFactory, _searchModelManager, _serverCommHelper, QUERY_ERROR, SEARCH_CONTENTS, SEARCH_LOCALE, SEARCH_MODEL, SEARCH_RESULTS
-
Fields inherited from class org.apache.cocoon.acting.ServiceableAction
manager
-
Fields inherited from class org.apache.cocoon.acting.AbstractAction
EMPTY_MAP
-
-
Constructor Summary
Constructors Constructor Description SolrQuerySearchAction()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private Collection<ColumnHelper.Column>
_getColumns(String columnsStr, Set<String> baseContentTypeIds)
static String
buildQuery(QueryBuilder queryBuilder, String baseQuery, Set<String> contentTypesOrMixins, Set<Integer> wfSteps)
Build a Solr query string from inputs coming from a SolrQuerySearch (query, content types, workflow steps)protected void
doSearch(Request request, SearchUIModel model, int offset, int maxResults, Map<String,Object> jsParameters, Map<String,Object> contextualParameters)
Do the search and set the results in request attributes.static Set<String>
getContentTypes(Map<String,Object> jsParameters)
Gets the content types from JS parameters when using 'search-ui.solr' modelvoid
service(ServiceManager serviceManager)
The searcher-
Methods inherited from class org.ametys.cms.search.cocoon.SearchAction
act, contextualize, getMaxResults, getOffset, getSearchUIModel, getSort
-
Methods inherited from class org.apache.avalon.framework.logger.AbstractLogEnabled
enableLogging, getLogger, setupLogger, setupLogger, setupLogger
-
-
-
-
Field Detail
-
_contentTypesHelper
protected ContentTypesHelper _contentTypesHelper
The content types helper.
-
_columnHelper
protected ColumnHelper _columnHelper
The helper for columns
-
-
Constructor Detail
-
SolrQuerySearchAction
public SolrQuerySearchAction()
-
-
Method Detail
-
service
public void service(ServiceManager serviceManager) throws ServiceException
The searcher- Specified by:
service
in interfaceServiceable
- Overrides:
service
in classSearchAction
- Throws:
ServiceException
-
doSearch
protected void doSearch(Request request, SearchUIModel model, int offset, int maxResults, Map<String,Object> jsParameters, Map<String,Object> contextualParameters) throws Exception
Description copied from class:SearchAction
Do the search and set the results in request attributes.- Overrides:
doSearch
in classSearchAction
- Parameters:
request
- The request. The results or contents' id have to be set in request attributesmodel
- The search UI modeloffset
- The index of searchmaxResults
- The max resultsjsParameters
- The JS parameterscontextualParameters
- The contextual parameters- Throws:
Exception
- if the search failed
-
_getColumns
private Collection<ColumnHelper.Column> _getColumns(String columnsStr, Set<String> baseContentTypeIds)
-
getContentTypes
public static Set<String> getContentTypes(Map<String,Object> jsParameters)
Gets the content types from JS parameters when using 'search-ui.solr' model- Parameters:
jsParameters
- The JS parameters- Returns:
- The content types
-
buildQuery
public static String buildQuery(QueryBuilder queryBuilder, String baseQuery, Set<String> contentTypesOrMixins, Set<Integer> wfSteps) throws QuerySyntaxException
Build a Solr query string from inputs coming from a SolrQuerySearch (query, content types, workflow steps)- Parameters:
queryBuilder
- TheQueryBuilder
componentbaseQuery
- The main querycontentTypesOrMixins
- The content types -or mixins- (can be empty)wfSteps
- The workflow steps (can be empty)- Returns:
- The built query
- Throws:
QuerySyntaxException
- If a query syntax is invalid
-
-