public class SolrSearchService extends Object implements SearchService, QueryFactory<SolrQuery>
SearchService using Solr as the underlying search engine.| Modifier and Type | Field and Description |
|---|---|
protected String[] |
additionalFilterQueries
Set of additional filter queries that should be used on all search requests
|
static String |
DEFAULT_FILE_NAME_FIELD_NAME |
protected Map<String,String> |
deleteQueryMappings
ID regex/delete query mappings that can be used to specify special delete queries for certain files,
e.g.
|
protected String |
fileNameFieldName
The file name field name (default is file-name).
|
protected String |
multiValueIgnorePattern
The regex pattern used to ignore those additional fields that shouldn't be parsed for multi value.
|
protected String |
multiValueSeparator
Multi value separator for additional fields of structured documents.
|
protected SolrDocumentBuilder |
solrDocumentBuilder
The Solr document builder, to build Solr documents from generic XML documents.
|
protected SolrServerFactory |
solrServerFactory
Factory that creates index specific SolrServers.
|
| Constructor and Description |
|---|
SolrSearchService() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
addAdditionalFilterQueries(SolrQuery solrQuery) |
String |
commit() |
String |
commit(String indexId) |
SolrQuery |
createQuery() |
SolrQuery |
createQuery(Map<String,String[]> params) |
String |
delete(String site,
String id) |
String |
delete(String indexId,
String site,
String id) |
protected Map<String,List<String>> |
getAdditionalFieldMapAsMultiValueMap(Map<String,String> originalMap) |
protected String |
getDeleteQuery(String id) |
protected String |
getIndexPrefix(String indexId) |
protected org.apache.solr.client.solrj.SolrServer |
getSolrServer(String indexId) |
protected String |
getSuccessfulMessage(String indexId,
String idOrQuery,
String operation,
Object solrResponse) |
Map<String,Object> |
search(Query query) |
Map<String,Object> |
search(String indexId,
Query query) |
void |
setAdditionalFilterQueries(String[] additionalFilterQueries)
Sets the set of additional filter queries that should be used on all search requests
|
void |
setDeleteQueryMappings(Map<String,String> deleteQueryMappings)
Sets ID regex/delete query mappings that can be used to specify special delete queries for certain
files, e.g.
|
void |
setFileNameFieldName(String fileNameFieldName)
Sets the file name field (default is file-name).
|
void |
setMultiValueIgnorePattern(String multiValueIgnorePattern)
Sets the regex pattern used to ignore those additional fields that shouldn't be parsed for multi value.
|
void |
setMultiValueSeparator(String multiValueSeparator)
Sets the multi value separator for additional fields of structured documents.
|
void |
setSolrDocumentBuilder(SolrDocumentBuilder solrDocumentBuilder)
Sets the Solr document builder, to build Solr documents from generic XML documents.
|
void |
setSolrServerFactory(SolrServerFactory solrServerFactory)
Sets the factory that creates index specific SolrServers.
|
protected Map<String,Object> |
toMap(org.apache.solr.common.util.NamedList<Object> namedList) |
protected Object |
toSerializableValue(Object namedListValue) |
protected org.apache.solr.common.params.SolrParams |
toSolrQuery(QueryParams queryParams) |
String |
update(String site,
String id,
String xml,
boolean ignoreRootInFieldNames) |
String |
update(String indexId,
String site,
String id,
String xml,
boolean ignoreRootInFieldNames) |
String |
updateDocument(String site,
String id,
File document)
Deprecated.
|
String |
updateDocument(String site,
String id,
File document,
Map<String,String> additionalFields)
Deprecated.
|
String |
updateFile(String site,
String id,
org.craftercms.core.service.Content content) |
String |
updateFile(String site,
String id,
org.craftercms.core.service.Content content,
Map<String,List<String>> additionalFields) |
String |
updateFile(String site,
String id,
File file) |
String |
updateFile(String site,
String id,
File file,
Map<String,List<String>> additionalFields) |
String |
updateFile(String indexId,
String site,
String id,
org.craftercms.core.service.Content content) |
String |
updateFile(String indexId,
String site,
String id,
org.craftercms.core.service.Content content,
Map<String,List<String>> additionalFields) |
String |
updateFile(String indexId,
String site,
String id,
File file) |
String |
updateFile(String indexId,
String site,
String id,
File file,
Map<String,List<String>> additionalFields) |
public static final String DEFAULT_FILE_NAME_FIELD_NAME
protected String fileNameFieldName
protected SolrServerFactory solrServerFactory
protected SolrDocumentBuilder solrDocumentBuilder
protected String multiValueSeparator
protected String multiValueIgnorePattern
protected Map<String,String> deleteQueryMappings
protected String[] additionalFilterQueries
public void setFileNameFieldName(String fileNameFieldName)
public void setSolrServerFactory(SolrServerFactory solrServerFactory)
public void setSolrDocumentBuilder(SolrDocumentBuilder solrDocumentBuilder)
public void setMultiValueSeparator(String multiValueSeparator)
public void setMultiValueIgnorePattern(String multiValueIgnorePattern)
public void setDeleteQueryMappings(Map<String,String> deleteQueryMappings)
public void setAdditionalFilterQueries(String[] additionalFilterQueries)
public SolrQuery createQuery()
createQuery in interface QueryFactory<SolrQuery>public SolrQuery createQuery(Map<String,String[]> params)
createQuery in interface QueryFactory<SolrQuery>public Map<String,Object> search(Query query)
search in interface SearchServicepublic Map<String,Object> search(String indexId, Query query) throws SearchException
search in interface SearchServiceSearchExceptionpublic String update(String site, String id, String xml, boolean ignoreRootInFieldNames) throws SearchException
update in interface SearchServiceSearchExceptionpublic String update(String indexId, String site, String id, String xml, boolean ignoreRootInFieldNames) throws SearchException
update in interface SearchServiceSearchExceptionpublic String delete(String site, String id) throws SearchException
delete in interface SearchServiceSearchExceptionpublic String delete(String indexId, String site, String id) throws SearchException
delete in interface SearchServiceSearchException@Deprecated public String updateDocument(String site, String id, File document) throws SearchException
updateDocument in interface SearchServiceSearchException@Deprecated public String updateDocument(String site, String id, File document, Map<String,String> additionalFields) throws SearchException
updateDocument in interface SearchServiceSearchExceptionpublic String updateFile(String site, String id, File file) throws SearchException
updateFile in interface SearchServiceSearchExceptionpublic String updateFile(String indexId, String site, String id, File file) throws SearchException
updateFile in interface SearchServiceSearchExceptionpublic String updateFile(String site, String id, File file, Map<String,List<String>> additionalFields) throws SearchException
updateFile in interface SearchServiceSearchExceptionpublic String updateFile(String indexId, String site, String id, File file, Map<String,List<String>> additionalFields) throws SearchException
updateFile in interface SearchServiceSearchExceptionpublic String updateFile(String site, String id, org.craftercms.core.service.Content content) throws SearchException
updateFile in interface SearchServiceSearchExceptionpublic String updateFile(String indexId, String site, String id, org.craftercms.core.service.Content content) throws SearchException
updateFile in interface SearchServiceSearchExceptionpublic String updateFile(String site, String id, org.craftercms.core.service.Content content, Map<String,List<String>> additionalFields) throws SearchException
updateFile in interface SearchServiceSearchExceptionpublic String updateFile(String indexId, String site, String id, org.craftercms.core.service.Content content, Map<String,List<String>> additionalFields) throws SearchException
updateFile in interface SearchServiceSearchExceptionpublic String commit() throws SearchException
commit in interface SearchServiceSearchExceptionpublic String commit(String indexId) throws SearchException
commit in interface SearchServiceSearchExceptionprotected org.apache.solr.common.params.SolrParams toSolrQuery(QueryParams queryParams)
protected Map<String,List<String>> getAdditionalFieldMapAsMultiValueMap(Map<String,String> originalMap)
protected org.apache.solr.client.solrj.SolrServer getSolrServer(String indexId)
protected String getSuccessfulMessage(String indexId, String idOrQuery, String operation, Object solrResponse)
protected void addAdditionalFilterQueries(SolrQuery solrQuery)
Copyright © 2018 CrafterCMS. All rights reserved.