MNT-19887: Non-responsive SOLR address breaks admin console pages

- add HttpClientFactory timeout properties in the SOLR contexts
This commit is contained in:
CezarLeahu
2020-04-21 14:59:56 +03:00
committed by GitHub
parent 1d3bacd03b
commit cc340a33aa
7 changed files with 766 additions and 747 deletions

View File

@@ -37,7 +37,7 @@
<maven.build.sourceVersion>11</maven.build.sourceVersion> <maven.build.sourceVersion>11</maven.build.sourceVersion>
<dependency.alfresco-data-model.version>8.103</dependency.alfresco-data-model.version> <dependency.alfresco-data-model.version>8.103</dependency.alfresco-data-model.version>
<dependency.alfresco-core.version>8.29</dependency.alfresco-core.version> <dependency.alfresco-core.version>8.30</dependency.alfresco-core.version>
<dependency.alfresco-legacy-lucene.version>6.2</dependency.alfresco-legacy-lucene.version> <dependency.alfresco-legacy-lucene.version>6.2</dependency.alfresco-legacy-lucene.version>
<dependency.alfresco-greenmail.version>6.1</dependency.alfresco-greenmail.version> <dependency.alfresco-greenmail.version>6.1</dependency.alfresco-greenmail.version>

View File

@@ -124,6 +124,8 @@
<property name="sslPort" value="${solr.port.ssl}"/> <property name="sslPort" value="${solr.port.ssl}"/>
<property name="maxTotalConnections" value="${solr.max.total.connections}"/> <property name="maxTotalConnections" value="${solr.max.total.connections}"/>
<property name="maxHostConnections" value="${solr.max.host.connections}"/> <property name="maxHostConnections" value="${solr.max.host.connections}"/>
<property name="socketTimeout" value="${solr.http.socket.timeout}"/>
<property name="connectionTimeout" value="${solr.http.connection.timeout}"/>
</bean> </bean>
<bean id="solrAdminClient" class="org.alfresco.repo.solr.SOLRAdminClient" init-method="init"> <bean id="solrAdminClient" class="org.alfresco.repo.solr.SOLRAdminClient" init-method="init">

View File

@@ -4,3 +4,7 @@ solr.port.ssl=8443
solr.query.includeGroupsForRoleAdmin=false solr.query.includeGroupsForRoleAdmin=false
solr.query.maximumResultsFromUnlimitedQuery=${system.acl.maxPermissionChecks} solr.query.maximumResultsFromUnlimitedQuery=${system.acl.maxPermissionChecks}
solr.baseUrl=/solr solr.baseUrl=/solr
# SOLR Http Client Factory Properties
solr.http.socket.timeout=2000
solr.http.connection.timeout=500

View File

@@ -1,335 +1,337 @@
<?xml version='1.0' encoding='UTF-8'?> <?xml version='1.0' encoding='UTF-8'?>
<beans xmlns="http://www.springframework.org/schema/beans" <beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd"> http://www.springframework.org/schema/beans/spring-beans.xsd">
<import resource="../common-search-context.xml" /> <import resource="../common-search-context.xml" />
<bean id="search.indexerComponent" class="org.alfresco.repo.search.IndexerComponent"> <bean id="search.indexerComponent" class="org.alfresco.repo.search.IndexerComponent">
<property name="storeRedirectorProxyFactory"> <property name="storeRedirectorProxyFactory">
<ref bean="&amp;search.indexerAndSearcherFactory" /> <ref bean="&amp;search.indexerAndSearcherFactory" />
</property> </property>
</bean> </bean>
<bean id="search.searchService" class="org.alfresco.repo.search.SearcherComponent"> <bean id="search.searchService" class="org.alfresco.repo.search.SearcherComponent">
<property name="indexerAndSearcherFactory"> <property name="indexerAndSearcherFactory">
<ref bean="search.indexerAndSearcherFactory" /> <ref bean="search.indexerAndSearcherFactory" />
</property> </property>
</bean> </bean>
<bean id="search.admSearchService" class="org.alfresco.repo.search.SearcherComponent"> <bean id="search.admSearchService" class="org.alfresco.repo.search.SearcherComponent">
<property name="indexerAndSearcherFactory"> <property name="indexerAndSearcherFactory">
<ref bean="search.solrIndexerAndSearcherFactory" /> <ref bean="search.solrIndexerAndSearcherFactory" />
</property> </property>
</bean> </bean>
<bean id="search.versionSearchService" class="org.alfresco.repo.search.SearcherComponent"> <bean id="search.versionSearchService" class="org.alfresco.repo.search.SearcherComponent">
<property name="indexerAndSearcherFactory"> <property name="indexerAndSearcherFactory">
<ref bean="search.solrIndexerAndSearcherFactory" /> <ref bean="search.solrIndexerAndSearcherFactory" />
</property> </property>
</bean> </bean>
<bean id="search.solrQueryHTTPCLient" class="org.alfresco.repo.search.impl.solr.SolrQueryHTTPClient" init-method="init"> <bean id="search.solrQueryHTTPCLient" class="org.alfresco.repo.search.impl.solr.SolrQueryHTTPClient" init-method="init">
<property name="nodeService"> <property name="nodeService">
<ref bean="mlAwareNodeService" /> <ref bean="mlAwareNodeService" />
</property> </property>
<property name="nodeDAO"> <property name="nodeDAO">
<ref bean="nodeDAO" /> <ref bean="nodeDAO" />
</property> </property>
<property name="dictionaryService" ref="dictionaryService"/> <property name="dictionaryService" ref="dictionaryService"/>
<property name="namespaceDAO" ref="dictionaryDAO" /> <property name="namespaceDAO" ref="dictionaryDAO" />
<property name="alternativeDictionary" value="${solr.cmis.alternativeDictionary}" /> <property name="alternativeDictionary" value="${solr.cmis.alternativeDictionary}" />
<property name="permissionService"> <property name="permissionService">
<ref bean="permissionService" /> <ref bean="permissionService" />
</property> </property>
<property name="tenantService"> <property name="tenantService">
<ref bean="tenantService" /> <ref bean="tenantService" />
</property> </property>
<property name="repositoryState"> <property name="repositoryState">
<ref bean="repositoryState" /> <ref bean="repositoryState" />
</property> </property>
<property name="languageMappings"> <property name="languageMappings">
<map> <map>
<entry key="lucene" value="alfresco" /> <entry key="lucene" value="alfresco" />
<entry key="solr-alfresco" value="alfresco" /> <entry key="solr-alfresco" value="alfresco" />
<entry key="cmis-strict" value="cmis" /> <entry key="cmis-strict" value="cmis" />
<entry key="cmis-alfresco" value="cmis" /> <entry key="cmis-alfresco" value="cmis" />
<entry key="solr-cmis" value="cmis" /> <entry key="solr-cmis" value="cmis" />
<entry key="fts-alfresco" value="afts" /> <entry key="fts-alfresco" value="afts" />
<entry key="solr-fts-alfresco" value="afts" /> <entry key="solr-fts-alfresco" value="afts" />
</map> </map>
</property> </property>
<property name="storeMappings"> <property name="storeMappings">
<ref bean="solr4.store.mappings" /> <ref bean="solr4.store.mappings" />
</property> </property>
<property name="includeGroupsForRoleAdmin"> <property name="includeGroupsForRoleAdmin">
<value>${solr.query.includeGroupsForRoleAdmin}</value> <value>${solr.query.includeGroupsForRoleAdmin}</value>
</property> </property>
<property name="maximumResultsFromUnlimitedQuery"> <property name="maximumResultsFromUnlimitedQuery">
<value>${solr.query.maximumResultsFromUnlimitedQuery}</value> <value>${solr.query.maximumResultsFromUnlimitedQuery}</value>
</property> </property>
<property name="anyDenyDenies" value="${security.anyDenyDenies}"/> <property name="anyDenyDenies" value="${security.anyDenyDenies}"/>
<property name="defaultUnshardedFacetLimit" value="${solr.defaultUnshardedFacetLimit}"/> <property name="defaultUnshardedFacetLimit" value="${solr.defaultUnshardedFacetLimit}"/>
<property name="defaultShardedFacetLimit" value="${solr.defaultShardedFacetLimit}"/> <property name="defaultShardedFacetLimit" value="${solr.defaultShardedFacetLimit}"/>
<property name="useDynamicShardRegistration" value="${solr.useDynamicShardRegistration}"/> <property name="useDynamicShardRegistration" value="${solr.useDynamicShardRegistration}"/>
</bean> </bean>
<!--The configurable RPC user mappings - actually a post-processed composite property! --> <!--The configurable RPC user mappings - actually a post-processed composite property! -->
<bean id="solr4.store.mappings" class="org.springframework.beans.factory.config.ListFactoryBean"> <bean id="solr4.store.mappings" class="org.springframework.beans.factory.config.ListFactoryBean">
<property name="singleton" value="false"/> <property name="singleton" value="false"/>
<property name="sourceList"> <property name="sourceList">
<list> <list>
<bean class="org.alfresco.repo.search.impl.solr.SolrStoreMapping"> <bean class="org.alfresco.repo.search.impl.solr.SolrStoreMapping">
<property name="beanName"> <property name="beanName">
<value>solrMappingAlfresco</value> <value>solrMappingAlfresco</value>
</property> </property>
<property name="httpClientFactory"> <property name="httpClientFactory">
<value>solrHttpClientFactory</value> <value>solrHttpClientFactory</value>
</property> </property>
<property name="baseUrl"> <property name="baseUrl">
<value>${solr.baseUrl}/alfresco</value> <value>${solr.baseUrl}/alfresco</value>
</property> </property>
<property name="protocol"> <property name="protocol">
<value>workspace</value> <value>workspace</value>
</property> </property>
<property name="identifier"> <property name="identifier">
<value>SpacesStore</value> <value>SpacesStore</value>
</property> </property>
<property name="nodeString"> <property name="nodeString">
<value>${solr4.alfresco.nodeString}</value> <value>${solr4.alfresco.nodeString}</value>
</property> </property>
<property name="numShards"> <property name="numShards">
<value>${solr4.alfresco.numShards}</value> <value>${solr4.alfresco.numShards}</value>
</property> </property>
<property name="replicationFactor"> <property name="replicationFactor">
<value>${solr4.alfresco.replicationFactor}</value> <value>${solr4.alfresco.replicationFactor}</value>
</property> </property>
</bean> </bean>
<bean class="org.alfresco.repo.search.impl.solr.SolrStoreMapping"> <bean class="org.alfresco.repo.search.impl.solr.SolrStoreMapping">
<property name="beanName"> <property name="beanName">
<value>solrMappingArchive</value> <value>solrMappingArchive</value>
</property> </property>
<property name="httpClientFactory"> <property name="httpClientFactory">
<value>solrHttpClientFactory</value> <value>solrHttpClientFactory</value>
</property> </property>
<property name="baseUrl"> <property name="baseUrl">
<value>${solr.baseUrl}/archive</value> <value>${solr.baseUrl}/archive</value>
</property> </property>
<property name="protocol"> <property name="protocol">
<value>archive</value> <value>archive</value>
</property> </property>
<property name="identifier"> <property name="identifier">
<value>SpacesStore</value> <value>SpacesStore</value>
</property> </property>
<property name="nodeString"> <property name="nodeString">
<value>${solr4.archive.nodeString}</value> <value>${solr4.archive.nodeString}</value>
</property> </property>
<property name="numShards"> <property name="numShards">
<value>${solr4.archive.numShards}</value> <value>${solr4.archive.numShards}</value>
</property> </property>
<property name="replicationFactor"> <property name="replicationFactor">
<value>${solr4.archive.replicationFactor}</value> <value>${solr4.archive.replicationFactor}</value>
</property> </property>
</bean> </bean>
</list> </list>
</property> </property>
</bean> </bean>
<bean id="solrHttpClientFactory" class="org.alfresco.httpclient.HttpClientFactory" init-method="init"> <bean id="solrHttpClientFactory" class="org.alfresco.httpclient.HttpClientFactory" init-method="init">
<property name="secureCommsType" value="${solr.secureComms}"/> <property name="secureCommsType" value="${solr.secureComms}"/>
<property name="sSLEncryptionParameters" ref="sslEncryptionParameters"/> <property name="sSLEncryptionParameters" ref="sslEncryptionParameters"/>
<property name="keyResourceLoader" ref="springKeyResourceLoader"/> <property name="keyResourceLoader" ref="springKeyResourceLoader"/>
<property name="keyStoreParameters" ref="keyStoreParameters"/> <property name="keyStoreParameters" ref="keyStoreParameters"/>
<property name="encryptionParameters" ref="md5EncryptionParameters"/> <property name="encryptionParameters" ref="md5EncryptionParameters"/>
<property name="host" value="${solr.host}"/> <property name="host" value="${solr.host}"/>
<property name="port" value="${solr.port}"/> <property name="port" value="${solr.port}"/>
<property name="sslPort" value="${solr.port.ssl}"/> <property name="sslPort" value="${solr.port.ssl}"/>
<property name="maxTotalConnections" value="${solr.max.total.connections}"/> <property name="maxTotalConnections" value="${solr.max.total.connections}"/>
<property name="maxHostConnections" value="${solr.max.host.connections}"/> <property name="maxHostConnections" value="${solr.max.host.connections}"/>
</bean> <property name="socketTimeout" value="${solr.http.socket.timeout}"/>
<property name="connectionTimeout" value="${solr.http.connection.timeout}"/>
<bean id="solrAdminClient" class="org.alfresco.repo.solr.SOLRAdminClient" init-method="init"> </bean>
<property name="solrHost" value="${solr.host}"/>
<property name="solrPort" value="${solr.port}"/> <bean id="solrAdminClient" class="org.alfresco.repo.solr.SOLRAdminClient" init-method="init">
<property name="solrsslPort" value="${solr.port.ssl}"/> <property name="solrHost" value="${solr.host}"/>
<property name="solrUser" value="${solr.solrUser}"/> <property name="solrPort" value="${solr.port}"/>
<property name="solrPassword" value="${solr.solrPassword}"/> <property name="solrsslPort" value="${solr.port.ssl}"/>
<property name="solrPingCronExpression" value="${solr.solrPingCronExpression}"/> <property name="solrUser" value="${solr.solrUser}"/>
<property name="solrConnectTimeout" value="${solr.solrConnectTimeout}"/> <property name="solrPassword" value="${solr.solrPassword}"/>
<property name="httpClientFactory" ref="solrHttpClientFactory"/> <property name="solrPingCronExpression" value="${solr.solrPingCronExpression}"/>
<property name="baseUrl" value="${solr.baseUrl}"/> <property name="solrConnectTimeout" value="${solr.solrConnectTimeout}"/>
<property name="scheduler"> <property name="httpClientFactory" ref="solrHttpClientFactory"/>
<ref bean="searchSchedulerFactory" /> <property name="baseUrl" value="${solr.baseUrl}"/>
</property> <property name="scheduler">
</bean> <ref bean="searchSchedulerFactory" />
</property>
</bean>
<bean id="search.solrAdminHTTPCLient" class="org.alfresco.repo.search.impl.solr.SolrAdminHTTPClient" init-method="init">
<property name="httpClientFactory" ref="solrHttpClientFactory"/>
<property name="baseUrl" value="${solr.baseUrl}"/> <bean id="search.solrAdminHTTPCLient" class="org.alfresco.repo.search.impl.solr.SolrAdminHTTPClient" init-method="init">
</bean> <property name="httpClientFactory" ref="solrHttpClientFactory"/>
<property name="baseUrl" value="${solr.baseUrl}"/>
</bean>
<bean id="search.lucene.alfresco" class="org.alfresco.repo.search.impl.solr.SolrQueryLanguage" >
<property name="factories">
<list> <bean id="search.lucene.alfresco" class="org.alfresco.repo.search.impl.solr.SolrQueryLanguage" >
<ref bean="search.indexerAndSearcherFactory" /> <property name="factories">
</list> <list>
</property> <ref bean="search.indexerAndSearcherFactory" />
<property name="name"> </list>
<value>lucene</value> </property>
</property> <property name="name">
<property name="solrQueryHTTPClient"> <value>lucene</value>
<ref bean="search.solrQueryHTTPCLient" /> </property>
</property> <property name="solrQueryHTTPClient">
<ref bean="search.solrQueryHTTPCLient" />
</bean> </property>
<bean id="search.solr.alfresco" class="org.alfresco.repo.search.impl.solr.SolrQueryLanguage" > </bean>
<property name="factories">
<list> <bean id="search.solr.alfresco" class="org.alfresco.repo.search.impl.solr.SolrQueryLanguage" >
<ref bean="search.indexerAndSearcherFactory" /> <property name="factories">
</list> <list>
</property> <ref bean="search.indexerAndSearcherFactory" />
<property name="name"> </list>
<value>solr-alfresco</value> </property>
</property> <property name="name">
<property name="solrQueryHTTPClient"> <value>solr-alfresco</value>
<ref bean="search.solrQueryHTTPCLient" /> </property>
</property> <property name="solrQueryHTTPClient">
<ref bean="search.solrQueryHTTPCLient" />
</bean> </property>
<bean id="search.lucene.xpath" class="org.alfresco.repo.search.impl.solr.SolrXPathQueryLanguage" > </bean>
<property name="solrQueryLanguage" >
<ref bean="search.fts.alfresco.index" /> <bean id="search.lucene.xpath" class="org.alfresco.repo.search.impl.solr.SolrXPathQueryLanguage" >
</property> <property name="solrQueryLanguage" >
<property name="factories"> <ref bean="search.fts.alfresco.index" />
<list> </property>
<ref bean="search.indexerAndSearcherFactory" /> <property name="factories">
</list> <list>
</property> <ref bean="search.indexerAndSearcherFactory" />
<property name="name"> </list>
<value>xpath</value> </property>
</property> <property name="name">
</bean> <value>xpath</value>
</property>
<bean id="search.fts.alfresco.index" class="org.alfresco.repo.search.impl.solr.SolrQueryLanguage" > </bean>
<property name="factories">
<list> <bean id="search.fts.alfresco.index" class="org.alfresco.repo.search.impl.solr.SolrQueryLanguage" >
<ref bean="search.indexerAndSearcherFactory" /> <property name="factories">
</list> <list>
</property> <ref bean="search.indexerAndSearcherFactory" />
<property name="name"> </list>
<value>solr-fts-alfresco</value> </property>
</property> <property name="name">
<property name="solrQueryHTTPClient"> <value>solr-fts-alfresco</value>
<ref bean="search.solrQueryHTTPCLient" /> </property>
</property> <property name="solrQueryHTTPClient">
</bean> <ref bean="search.solrQueryHTTPCLient" />
</property>
<bean id="search.solr.cmis" class="org.alfresco.repo.search.impl.solr.SolrQueryLanguage" > </bean>
<property name="factories">
<list> <bean id="search.solr.cmis" class="org.alfresco.repo.search.impl.solr.SolrQueryLanguage" >
<ref bean="search.indexerAndSearcherFactory" /> <property name="factories">
</list> <list>
</property> <ref bean="search.indexerAndSearcherFactory" />
<property name="name"> </list>
<value>solr-cmis</value> </property>
</property> <property name="name">
<property name="solrQueryHTTPClient"> <value>solr-cmis</value>
<ref bean="search.solrQueryHTTPCLient" /> </property>
</property> <property name="solrQueryHTTPClient">
</bean> <ref bean="search.solrQueryHTTPCLient" />
</property>
<bean id="search.indexerAndSearcherFactory" class="org.alfresco.repo.service.StoreRedirectorProxyFactory"> </bean>
<property name="proxyInterface">
<value>org.alfresco.repo.search.IndexerAndSearcher</value> <bean id="search.indexerAndSearcherFactory" class="org.alfresco.repo.service.StoreRedirectorProxyFactory">
</property> <property name="proxyInterface">
<property name="defaultBinding"> <value>org.alfresco.repo.search.IndexerAndSearcher</value>
<ref bean="search.solrIndexerAndSearcherFactory"></ref> </property>
</property> <property name="defaultBinding">
</bean> <ref bean="search.solrIndexerAndSearcherFactory"></ref>
</property>
<bean id="search.solrIndexerAndSearcherFactory" </bean>
class="org.alfresco.repo.search.impl.solr.SolrIndexerAndSearcherFactory">
<property name="nodeService"> <bean id="search.solrIndexerAndSearcherFactory"
<ref bean="mlAwareNodeService" /> class="org.alfresco.repo.search.impl.solr.SolrIndexerAndSearcherFactory">
</property> <property name="nodeService">
<property name="dictionaryService"> <ref bean="mlAwareNodeService" />
<ref bean="dictionaryService" /> </property>
</property> <property name="dictionaryService">
<property name="namespacePrefixResolver"> <ref bean="dictionaryService" />
<ref bean="namespaceService" /> </property>
</property> <property name="namespacePrefixResolver">
<property name="queryRegister"> <ref bean="namespaceService" />
<ref bean="search.queryRegisterComponent" /> </property>
</property> <property name="queryRegister">
</bean> <ref bean="search.queryRegisterComponent" />
</property>
<alias name="search.indexerAndSearcherFactory" alias="search.admLuceneIndexerAndSearcherFactory"/> </bean>
<alias name="search.indexerAndSearcherFactory" alias="search.admLuceneUnIndexedIndexerAndSearcherFactory"/>
<alias name="search.indexerAndSearcherFactory" alias="search.admLuceneIndexerAndSearcherFactory"/>
<bean id="search.categoryService" class="org.alfresco.repo.service.StoreRedirectorProxyFactory"> <alias name="search.indexerAndSearcherFactory" alias="search.admLuceneUnIndexedIndexerAndSearcherFactory"/>
<property name="proxyInterface">
<value>org.alfresco.service.cmr.search.CategoryService</value> <bean id="search.categoryService" class="org.alfresco.repo.service.StoreRedirectorProxyFactory">
</property> <property name="proxyInterface">
<property name="defaultBinding"> <value>org.alfresco.service.cmr.search.CategoryService</value>
<ref bean="search.luceneCategoryService"></ref> </property>
</property> <property name="defaultBinding">
<property name="redirectedProtocolBindings"> <ref bean="search.luceneCategoryService"></ref>
<map> </property>
<entry key="workspace"> <property name="redirectedProtocolBindings">
<ref bean="search.luceneCategoryService"></ref> <map>
</entry> <entry key="workspace">
<entry key="versionStore"> <ref bean="search.luceneCategoryService"></ref>
<ref bean="search.luceneCategoryService"></ref> </entry>
</entry> <entry key="versionStore">
</map> <ref bean="search.luceneCategoryService"></ref>
</property> </entry>
</bean> </map>
</property>
<bean id="search.luceneCategoryService" class="org.alfresco.repo.search.impl.solr.SolrCategoryServiceImpl"> </bean>
<property name="nodeService">
<ref bean="nodeService" /> <bean id="search.luceneCategoryService" class="org.alfresco.repo.search.impl.solr.SolrCategoryServiceImpl">
</property> <property name="nodeService">
<property name="publicNodeService"> <ref bean="nodeService" />
<ref bean="NodeService" /> </property>
</property> <property name="publicNodeService">
<property name="tenantService"> <ref bean="NodeService" />
<ref bean="tenantService"/> </property>
</property> <property name="tenantService">
<property name="dictionaryService"> <ref bean="tenantService"/>
<ref bean="dictionaryService" /> </property>
</property> <property name="dictionaryService">
<property name="namespacePrefixResolver"> <ref bean="dictionaryService" />
<ref bean="namespaceService" /> </property>
</property> <property name="namespacePrefixResolver">
<property name="indexerAndSearcher"> <ref bean="namespaceService" />
<ref bean="search.indexerAndSearcherFactory" /> </property>
</property> <property name="indexerAndSearcher">
<property name="queryFetchSize"> <ref bean="search.indexerAndSearcherFactory" />
<value>${category.queryFetchSize}</value> </property>
</property> <property name="queryFetchSize">
</bean> <value>${category.queryFetchSize}</value>
</property>
<bean id="search.statsService" class="org.alfresco.repo.search.impl.solr.SolrStatsService"> </bean>
<property name="searcher">
<ref bean="search.indexerAndSearcherFactory" /> <bean id="search.statsService" class="org.alfresco.repo.search.impl.solr.SolrStatsService">
</property> <property name="searcher">
</bean> <ref bean="search.indexerAndSearcherFactory" />
</property>
<bean id="search.suggesterService" class="org.alfresco.repo.search.impl.solr.SolrSuggesterServiceImpl"> </bean>
<property name="enabled">
<value>${solr.suggester.enabled}</value> <bean id="search.suggesterService" class="org.alfresco.repo.search.impl.solr.SolrSuggesterServiceImpl">
</property> <property name="enabled">
<property name="solrQueryHTTPClient"> <value>${solr.suggester.enabled}</value>
<ref bean="search.solrQueryHTTPCLient" /> </property>
</property> <property name="solrQueryHTTPClient">
</bean> <ref bean="search.solrQueryHTTPCLient" />
</property>
</bean>
</beans>
</beans>

View File

@@ -1,26 +1,31 @@
solr.host=localhost solr.host=localhost
solr.port=8083 solr.port=8083
solr.port.ssl=8446 solr.port.ssl=8446
solr.query.includeGroupsForRoleAdmin=false solr.query.includeGroupsForRoleAdmin=false
solr.query.maximumResultsFromUnlimitedQuery=${system.acl.maxPermissionChecks} solr.query.maximumResultsFromUnlimitedQuery=${system.acl.maxPermissionChecks}
solr.baseUrl=/solr4 solr.baseUrl=/solr4
solr.defaultUnshardedFacetLimit=100 solr.defaultUnshardedFacetLimit=100
solr.defaultShardedFacetLimit=20 solr.defaultShardedFacetLimit=20
solr.useDynamicShardRegistration=false solr.useDynamicShardRegistration=false
# #
# Solr Suggester properties # Solr Suggester properties
# #
solr.suggester.enabled=true solr.suggester.enabled=true
# #
# Default unsharded # Default unsharded
solr4.alfresco.nodeString= solr4.alfresco.nodeString=
solr4.alfresco.numShards=1 solr4.alfresco.numShards=1
solr4.alfresco.replicationFactor=1 solr4.alfresco.replicationFactor=1
solr4.archive.nodeString= solr4.archive.nodeString=
solr4.archive.numShards=1 solr4.archive.numShards=1
solr4.archive.replicationFactor=1 solr4.archive.replicationFactor=1
# SOLR Http Client Factory Properties
solr.http.socket.timeout=2000
solr.http.connection.timeout=500

View File

@@ -1,359 +1,361 @@
<?xml version='1.0' encoding='UTF-8'?> <?xml version='1.0' encoding='UTF-8'?>
<beans xmlns="http://www.springframework.org/schema/beans" <beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd"> http://www.springframework.org/schema/beans/spring-beans.xsd">
<import resource="../common-search-context.xml" /> <import resource="../common-search-context.xml" />
<bean id="search.indexerComponent" class="org.alfresco.repo.search.IndexerComponent"> <bean id="search.indexerComponent" class="org.alfresco.repo.search.IndexerComponent">
<property name="storeRedirectorProxyFactory"> <property name="storeRedirectorProxyFactory">
<ref bean="&amp;search.indexerAndSearcherFactory" /> <ref bean="&amp;search.indexerAndSearcherFactory" />
</property> </property>
</bean> </bean>
<bean id="search.searchService" class="org.alfresco.repo.search.SearcherComponent"> <bean id="search.searchService" class="org.alfresco.repo.search.SearcherComponent">
<property name="indexerAndSearcherFactory"> <property name="indexerAndSearcherFactory">
<ref bean="search.indexerAndSearcherFactory" /> <ref bean="search.indexerAndSearcherFactory" />
</property> </property>
</bean> </bean>
<bean id="search.admSearchService" class="org.alfresco.repo.search.SearcherComponent"> <bean id="search.admSearchService" class="org.alfresco.repo.search.SearcherComponent">
<property name="indexerAndSearcherFactory"> <property name="indexerAndSearcherFactory">
<ref bean="search.solrIndexerAndSearcherFactory" /> <ref bean="search.solrIndexerAndSearcherFactory" />
</property> </property>
</bean> </bean>
<bean id="search.versionSearchService" class="org.alfresco.repo.search.SearcherComponent"> <bean id="search.versionSearchService" class="org.alfresco.repo.search.SearcherComponent">
<property name="indexerAndSearcherFactory"> <property name="indexerAndSearcherFactory">
<ref bean="search.solrIndexerAndSearcherFactory" /> <ref bean="search.solrIndexerAndSearcherFactory" />
</property> </property>
</bean> </bean>
<bean id="search.solrQueryHTTPCLient" class="org.alfresco.repo.search.impl.solr.SolrQueryHTTPClient" init-method="init"> <bean id="search.solrQueryHTTPCLient" class="org.alfresco.repo.search.impl.solr.SolrQueryHTTPClient" init-method="init">
<property name="nodeService"> <property name="nodeService">
<ref bean="mlAwareNodeService" /> <ref bean="mlAwareNodeService" />
</property> </property>
<property name="nodeDAO"> <property name="nodeDAO">
<ref bean="nodeDAO" /> <ref bean="nodeDAO" />
</property> </property>
<property name="dictionaryService" ref="dictionaryService"/> <property name="dictionaryService" ref="dictionaryService"/>
<property name="namespaceDAO" ref="dictionaryDAO" /> <property name="namespaceDAO" ref="dictionaryDAO" />
<property name="alternativeDictionary" value="${solr.cmis.alternativeDictionary}" /> <property name="alternativeDictionary" value="${solr.cmis.alternativeDictionary}" />
<property name="permissionService"> <property name="permissionService">
<ref bean="permissionService" /> <ref bean="permissionService" />
</property> </property>
<property name="tenantService"> <property name="tenantService">
<ref bean="tenantService" /> <ref bean="tenantService" />
</property> </property>
<property name="repositoryState"> <property name="repositoryState">
<ref bean="repositoryState" /> <ref bean="repositoryState" />
</property> </property>
<property name="languageMappings"> <property name="languageMappings">
<map> <map>
<entry key="lucene" value="alfresco" /> <entry key="lucene" value="alfresco" />
<entry key="solr-alfresco" value="alfresco" /> <entry key="solr-alfresco" value="alfresco" />
<entry key="cmis-strict" value="cmis" /> <entry key="cmis-strict" value="cmis" />
<entry key="cmis-alfresco" value="cmis" /> <entry key="cmis-alfresco" value="cmis" />
<entry key="solr-cmis" value="cmis" /> <entry key="solr-cmis" value="cmis" />
<entry key="fts-alfresco" value="afts" /> <entry key="fts-alfresco" value="afts" />
<entry key="solr-fts-alfresco" value="afts" /> <entry key="solr-fts-alfresco" value="afts" />
</map> </map>
</property> </property>
<property name="storeMappings"> <property name="storeMappings">
<ref bean="solr6.store.mappings" /> <ref bean="solr6.store.mappings" />
</property> </property>
<property name="includeGroupsForRoleAdmin"> <property name="includeGroupsForRoleAdmin">
<value>${solr.query.includeGroupsForRoleAdmin}</value> <value>${solr.query.includeGroupsForRoleAdmin}</value>
</property> </property>
<property name="maximumResultsFromUnlimitedQuery"> <property name="maximumResultsFromUnlimitedQuery">
<value>${solr.query.maximumResultsFromUnlimitedQuery}</value> <value>${solr.query.maximumResultsFromUnlimitedQuery}</value>
</property> </property>
<property name="anyDenyDenies" value="${security.anyDenyDenies}"/> <property name="anyDenyDenies" value="${security.anyDenyDenies}"/>
<property name="defaultUnshardedFacetLimit" value="${solr.defaultUnshardedFacetLimit}"/> <property name="defaultUnshardedFacetLimit" value="${solr.defaultUnshardedFacetLimit}"/>
<property name="defaultShardedFacetLimit" value="${solr.defaultShardedFacetLimit}"/> <property name="defaultShardedFacetLimit" value="${solr.defaultShardedFacetLimit}"/>
<property name="useDynamicShardRegistration" value="${solr.useDynamicShardRegistration}"/> <property name="useDynamicShardRegistration" value="${solr.useDynamicShardRegistration}"/>
</bean> </bean>
<bean id="search.solrSQLQueryHTTPCLient" class="org.alfresco.repo.search.impl.solr.SolrSQLHttpClient" init-method="init"> <bean id="search.solrSQLQueryHTTPCLient" class="org.alfresco.repo.search.impl.solr.SolrSQLHttpClient" init-method="init">
<property name="permissionService"> <property name="permissionService">
<ref bean="permissionService" /> <ref bean="permissionService" />
</property> </property>
<property name="repositoryState"> <property name="repositoryState">
<ref bean="repositoryState" /> <ref bean="repositoryState" />
</property> </property>
<property name="storeMappings"> <property name="storeMappings">
<ref bean="solr6.store.mappings" /> <ref bean="solr6.store.mappings" />
</property> </property>
<property name="tenantService"> <property name="tenantService">
<ref bean="tenantService"/> <ref bean="tenantService"/>
</property> </property>
<property name="includeGroupsForRoleAdmin"> <property name="includeGroupsForRoleAdmin">
<value>${solr.query.includeGroupsForRoleAdmin}</value> <value>${solr.query.includeGroupsForRoleAdmin}</value>
</property> </property>
<property name="anyDenyDenies" value="${security.anyDenyDenies}"/> <property name="anyDenyDenies" value="${security.anyDenyDenies}"/>
<property name="useDynamicShardRegistration" value="${solr.useDynamicShardRegistration}"/> <property name="useDynamicShardRegistration" value="${solr.useDynamicShardRegistration}"/>
</bean> </bean>
<!--The configurable RPC user mappings - actually a post-processed composite property! --> <!--The configurable RPC user mappings - actually a post-processed composite property! -->
<bean id="solr6.store.mappings" class="org.springframework.beans.factory.config.ListFactoryBean"> <bean id="solr6.store.mappings" class="org.springframework.beans.factory.config.ListFactoryBean">
<property name="singleton" value="false"/> <property name="singleton" value="false"/>
<property name="sourceList"> <property name="sourceList">
<list> <list>
<bean class="org.alfresco.repo.search.impl.solr.SolrStoreMapping"> <bean class="org.alfresco.repo.search.impl.solr.SolrStoreMapping">
<property name="beanName"> <property name="beanName">
<value>solrMappingAlfresco</value> <value>solrMappingAlfresco</value>
</property> </property>
<property name="httpClientFactory"> <property name="httpClientFactory">
<value>solrHttpClientFactory</value> <value>solrHttpClientFactory</value>
</property> </property>
<property name="baseUrl"> <property name="baseUrl">
<value>${solr.baseUrl}/alfresco</value> <value>${solr.baseUrl}/alfresco</value>
</property> </property>
<property name="protocol"> <property name="protocol">
<value>workspace</value> <value>workspace</value>
</property> </property>
<property name="identifier"> <property name="identifier">
<value>SpacesStore</value> <value>SpacesStore</value>
</property> </property>
<property name="nodeString"> <property name="nodeString">
<value>${solr6.alfresco.nodeString}</value> <value>${solr6.alfresco.nodeString}</value>
</property> </property>
<property name="numShards"> <property name="numShards">
<value>${solr6.alfresco.numShards}</value> <value>${solr6.alfresco.numShards}</value>
</property> </property>
<property name="replicationFactor"> <property name="replicationFactor">
<value>${solr6.alfresco.replicationFactor}</value> <value>${solr6.alfresco.replicationFactor}</value>
</property> </property>
</bean> </bean>
<bean class="org.alfresco.repo.search.impl.solr.SolrStoreMapping"> <bean class="org.alfresco.repo.search.impl.solr.SolrStoreMapping">
<property name="beanName"> <property name="beanName">
<value>solrMappingArchive</value> <value>solrMappingArchive</value>
</property> </property>
<property name="httpClientFactory"> <property name="httpClientFactory">
<value>solrHttpClientFactory</value> <value>solrHttpClientFactory</value>
</property> </property>
<property name="baseUrl"> <property name="baseUrl">
<value>${solr.baseUrl}/archive</value> <value>${solr.baseUrl}/archive</value>
</property> </property>
<property name="protocol"> <property name="protocol">
<value>archive</value> <value>archive</value>
</property> </property>
<property name="identifier"> <property name="identifier">
<value>SpacesStore</value> <value>SpacesStore</value>
</property> </property>
<property name="nodeString"> <property name="nodeString">
<value>${solr6.archive.nodeString}</value> <value>${solr6.archive.nodeString}</value>
</property> </property>
<property name="numShards"> <property name="numShards">
<value>${solr6.archive.numShards}</value> <value>${solr6.archive.numShards}</value>
</property> </property>
<property name="replicationFactor"> <property name="replicationFactor">
<value>${solr6.archive.replicationFactor}</value> <value>${solr6.archive.replicationFactor}</value>
</property> </property>
</bean> </bean>
</list> </list>
</property> </property>
</bean> </bean>
<bean id="solrHttpClientFactory" class="org.alfresco.httpclient.HttpClientFactory" init-method="init"> <bean id="solrHttpClientFactory" class="org.alfresco.httpclient.HttpClientFactory" init-method="init">
<property name="secureCommsType" value="${solr.secureComms}"/> <property name="secureCommsType" value="${solr.secureComms}"/>
<property name="sSLEncryptionParameters" ref="sslEncryptionParameters"/> <property name="sSLEncryptionParameters" ref="sslEncryptionParameters"/>
<property name="keyResourceLoader" ref="springKeyResourceLoader"/> <property name="keyResourceLoader" ref="springKeyResourceLoader"/>
<property name="keyStoreParameters" ref="keyStoreParameters"/> <property name="keyStoreParameters" ref="keyStoreParameters"/>
<property name="encryptionParameters" ref="md5EncryptionParameters"/> <property name="encryptionParameters" ref="md5EncryptionParameters"/>
<property name="host" value="${solr.host}"/> <property name="host" value="${solr.host}"/>
<property name="port" value="${solr.port}"/> <property name="port" value="${solr.port}"/>
<property name="sslPort" value="${solr.port.ssl}"/> <property name="sslPort" value="${solr.port.ssl}"/>
<property name="maxTotalConnections" value="${solr.max.total.connections}"/> <property name="maxTotalConnections" value="${solr.max.total.connections}"/>
<property name="maxHostConnections" value="${solr.max.host.connections}"/> <property name="maxHostConnections" value="${solr.max.host.connections}"/>
</bean> <property name="socketTimeout" value="${solr.http.socket.timeout}"/>
<property name="connectionTimeout" value="${solr.http.connection.timeout}"/>
<bean id="solrAdminClient" class="org.alfresco.repo.solr.SOLRAdminClient" init-method="init"> </bean>
<property name="solrPingCronExpression" value="${solr.solrPingCronExpression}"/>
<property name="baseUrl" value="${solr.baseUrl}"/> <bean id="solrAdminClient" class="org.alfresco.repo.solr.SOLRAdminClient" init-method="init">
<property name="scheduler"> <property name="solrPingCronExpression" value="${solr.solrPingCronExpression}"/>
<ref bean="searchSchedulerFactory" /> <property name="baseUrl" value="${solr.baseUrl}"/>
</property> <property name="scheduler">
<property name="storeMappings"> <ref bean="searchSchedulerFactory" />
<ref bean="solr6.store.mappings" /> </property>
</property> <property name="storeMappings">
<property name="useDynamicShardRegistration" value="${solr.useDynamicShardRegistration}" /> <ref bean="solr6.store.mappings" />
</bean> </property>
<property name="useDynamicShardRegistration" value="${solr.useDynamicShardRegistration}" />
<bean id="search.solrAdminHTTPCLient" class="org.alfresco.repo.search.impl.solr.SolrAdminHTTPClient" init-method="init"> </bean>
<property name="httpClientFactory" ref="solrHttpClientFactory"/>
<property name="baseUrl" value="${solr.baseUrl}"/> <bean id="search.solrAdminHTTPCLient" class="org.alfresco.repo.search.impl.solr.SolrAdminHTTPClient" init-method="init">
</bean> <property name="httpClientFactory" ref="solrHttpClientFactory"/>
<property name="baseUrl" value="${solr.baseUrl}"/>
</bean>
<bean id="search.lucene.alfresco" class="org.alfresco.repo.search.impl.solr.SolrQueryLanguage" >
<property name="factories">
<list> <bean id="search.lucene.alfresco" class="org.alfresco.repo.search.impl.solr.SolrQueryLanguage" >
<ref bean="search.indexerAndSearcherFactory" /> <property name="factories">
</list> <list>
</property> <ref bean="search.indexerAndSearcherFactory" />
<property name="name"> </list>
<value>lucene</value> </property>
</property> <property name="name">
<property name="solrQueryHTTPClient"> <value>lucene</value>
<ref bean="search.solrQueryHTTPCLient" /> </property>
</property> <property name="solrQueryHTTPClient">
<ref bean="search.solrQueryHTTPCLient" />
</bean> </property>
<bean id="search.solr.alfresco" class="org.alfresco.repo.search.impl.solr.SolrQueryLanguage" > </bean>
<property name="factories">
<list> <bean id="search.solr.alfresco" class="org.alfresco.repo.search.impl.solr.SolrQueryLanguage" >
<ref bean="search.indexerAndSearcherFactory" /> <property name="factories">
</list> <list>
</property> <ref bean="search.indexerAndSearcherFactory" />
<property name="name"> </list>
<value>solr-alfresco</value> </property>
</property> <property name="name">
<property name="solrQueryHTTPClient"> <value>solr-alfresco</value>
<ref bean="search.solrQueryHTTPCLient" /> </property>
</property> <property name="solrQueryHTTPClient">
<ref bean="search.solrQueryHTTPCLient" />
</bean> </property>
<bean id="search.lucene.xpath" class="org.alfresco.repo.search.impl.solr.SolrXPathQueryLanguage" > </bean>
<property name="solrQueryLanguage" >
<ref bean="search.fts.alfresco.index" /> <bean id="search.lucene.xpath" class="org.alfresco.repo.search.impl.solr.SolrXPathQueryLanguage" >
</property> <property name="solrQueryLanguage" >
<property name="factories"> <ref bean="search.fts.alfresco.index" />
<list> </property>
<ref bean="search.indexerAndSearcherFactory" /> <property name="factories">
</list> <list>
</property> <ref bean="search.indexerAndSearcherFactory" />
<property name="name"> </list>
<value>xpath</value> </property>
</property> <property name="name">
</bean> <value>xpath</value>
</property>
<bean id="search.fts.alfresco.index" class="org.alfresco.repo.search.impl.solr.SolrQueryLanguage" > </bean>
<property name="factories">
<list> <bean id="search.fts.alfresco.index" class="org.alfresco.repo.search.impl.solr.SolrQueryLanguage" >
<ref bean="search.indexerAndSearcherFactory" /> <property name="factories">
</list> <list>
</property> <ref bean="search.indexerAndSearcherFactory" />
<property name="name"> </list>
<value>solr-fts-alfresco</value> </property>
</property> <property name="name">
<property name="solrQueryHTTPClient"> <value>solr-fts-alfresco</value>
<ref bean="search.solrQueryHTTPCLient" /> </property>
</property> <property name="solrQueryHTTPClient">
</bean> <ref bean="search.solrQueryHTTPCLient" />
<!-- Adding solr SQL language. --> </property>
<bean id="search.solr.sql.alfresco" class="org.alfresco.repo.search.impl.solr.SolrQueryLanguage"> </bean>
<property name="factories"> <!-- Adding solr SQL language. -->
<list> <bean id="search.solr.sql.alfresco" class="org.alfresco.repo.search.impl.solr.SolrQueryLanguage">
<ref bean="search.indexerAndSearcherFactory" /> <property name="factories">
</list> <list>
</property> <ref bean="search.indexerAndSearcherFactory" />
<property name="name"> </list>
<value>solr-sql</value> </property>
</property> <property name="name">
<property name="solrQueryHTTPClient"> <value>solr-sql</value>
<ref bean="search.solrSQLQueryHTTPCLient" /> </property>
</property> <property name="solrQueryHTTPClient">
</bean> <ref bean="search.solrSQLQueryHTTPCLient" />
<bean id="search.solr.cmis" class="org.alfresco.repo.search.impl.solr.SolrQueryLanguage" > </property>
<property name="factories"> </bean>
<list> <bean id="search.solr.cmis" class="org.alfresco.repo.search.impl.solr.SolrQueryLanguage" >
<ref bean="search.indexerAndSearcherFactory" /> <property name="factories">
</list> <list>
</property> <ref bean="search.indexerAndSearcherFactory" />
<property name="name"> </list>
<value>solr-cmis</value> </property>
</property> <property name="name">
<property name="solrQueryHTTPClient"> <value>solr-cmis</value>
<ref bean="search.solrQueryHTTPCLient" /> </property>
</property> <property name="solrQueryHTTPClient">
</bean> <ref bean="search.solrQueryHTTPCLient" />
</property>
<bean id="search.indexerAndSearcherFactory" class="org.alfresco.repo.service.StoreRedirectorProxyFactory"> </bean>
<property name="proxyInterface">
<value>org.alfresco.repo.search.IndexerAndSearcher</value> <bean id="search.indexerAndSearcherFactory" class="org.alfresco.repo.service.StoreRedirectorProxyFactory">
</property> <property name="proxyInterface">
<property name="defaultBinding"> <value>org.alfresco.repo.search.IndexerAndSearcher</value>
<ref bean="search.solrIndexerAndSearcherFactory"></ref> </property>
</property> <property name="defaultBinding">
</bean> <ref bean="search.solrIndexerAndSearcherFactory"></ref>
</property>
<bean id="search.solrIndexerAndSearcherFactory" </bean>
class="org.alfresco.repo.search.impl.solr.SolrIndexerAndSearcherFactory">
<property name="nodeService"> <bean id="search.solrIndexerAndSearcherFactory"
<ref bean="mlAwareNodeService" /> class="org.alfresco.repo.search.impl.solr.SolrIndexerAndSearcherFactory">
</property> <property name="nodeService">
<property name="dictionaryService"> <ref bean="mlAwareNodeService" />
<ref bean="dictionaryService" /> </property>
</property> <property name="dictionaryService">
<property name="namespacePrefixResolver"> <ref bean="dictionaryService" />
<ref bean="namespaceService" /> </property>
</property> <property name="namespacePrefixResolver">
<property name="queryRegister"> <ref bean="namespaceService" />
<ref bean="search.queryRegisterComponent" /> </property>
</property> <property name="queryRegister">
</bean> <ref bean="search.queryRegisterComponent" />
</property>
<alias name="search.indexerAndSearcherFactory" alias="search.admLuceneIndexerAndSearcherFactory"/> </bean>
<alias name="search.indexerAndSearcherFactory" alias="search.admLuceneUnIndexedIndexerAndSearcherFactory"/>
<alias name="search.indexerAndSearcherFactory" alias="search.admLuceneIndexerAndSearcherFactory"/>
<bean id="search.categoryService" class="org.alfresco.repo.service.StoreRedirectorProxyFactory"> <alias name="search.indexerAndSearcherFactory" alias="search.admLuceneUnIndexedIndexerAndSearcherFactory"/>
<property name="proxyInterface">
<value>org.alfresco.service.cmr.search.CategoryService</value> <bean id="search.categoryService" class="org.alfresco.repo.service.StoreRedirectorProxyFactory">
</property> <property name="proxyInterface">
<property name="defaultBinding"> <value>org.alfresco.service.cmr.search.CategoryService</value>
<ref bean="search.luceneCategoryService"></ref> </property>
</property> <property name="defaultBinding">
<property name="redirectedProtocolBindings"> <ref bean="search.luceneCategoryService"></ref>
<map> </property>
<entry key="workspace"> <property name="redirectedProtocolBindings">
<ref bean="search.luceneCategoryService"></ref> <map>
</entry> <entry key="workspace">
<entry key="versionStore"> <ref bean="search.luceneCategoryService"></ref>
<ref bean="search.luceneCategoryService"></ref> </entry>
</entry> <entry key="versionStore">
</map> <ref bean="search.luceneCategoryService"></ref>
</property> </entry>
</bean> </map>
</property>
<bean id="search.luceneCategoryService" class="org.alfresco.repo.search.impl.solr.SolrCategoryServiceImpl"> </bean>
<property name="nodeService">
<ref bean="nodeService" /> <bean id="search.luceneCategoryService" class="org.alfresco.repo.search.impl.solr.SolrCategoryServiceImpl">
</property> <property name="nodeService">
<property name="publicNodeService"> <ref bean="nodeService" />
<ref bean="NodeService" /> </property>
</property> <property name="publicNodeService">
<property name="tenantService"> <ref bean="NodeService" />
<ref bean="tenantService"/> </property>
</property> <property name="tenantService">
<property name="dictionaryService"> <ref bean="tenantService"/>
<ref bean="dictionaryService" /> </property>
</property> <property name="dictionaryService">
<property name="namespacePrefixResolver"> <ref bean="dictionaryService" />
<ref bean="namespaceService" /> </property>
</property> <property name="namespacePrefixResolver">
<property name="indexerAndSearcher"> <ref bean="namespaceService" />
<ref bean="search.indexerAndSearcherFactory" /> </property>
</property> <property name="indexerAndSearcher">
<property name="queryFetchSize"> <ref bean="search.indexerAndSearcherFactory" />
<value>${category.queryFetchSize}</value> </property>
</property> <property name="queryFetchSize">
</bean> <value>${category.queryFetchSize}</value>
</property>
<bean id="search.statsService" class="org.alfresco.repo.search.impl.solr.SolrStatsService"> </bean>
<property name="searcher">
<ref bean="search.indexerAndSearcherFactory" /> <bean id="search.statsService" class="org.alfresco.repo.search.impl.solr.SolrStatsService">
</property> <property name="searcher">
</bean> <ref bean="search.indexerAndSearcherFactory" />
</property>
<bean id="search.suggesterService" class="org.alfresco.repo.search.impl.solr.SolrSuggesterServiceImpl"> </bean>
<property name="enabled">
<value>${solr.suggester.enabled}</value> <bean id="search.suggesterService" class="org.alfresco.repo.search.impl.solr.SolrSuggesterServiceImpl">
</property> <property name="enabled">
<property name="solrQueryHTTPClient"> <value>${solr.suggester.enabled}</value>
<ref bean="search.solrQueryHTTPCLient" /> </property>
</property> <property name="solrQueryHTTPClient">
</bean> <ref bean="search.solrQueryHTTPCLient" />
</beans> </property>
</bean>
</beans>

View File

@@ -1,26 +1,30 @@
solr.host=localhost solr.host=localhost
solr.port=8083 solr.port=8083
solr.port.ssl=8446 solr.port.ssl=8446
solr.query.includeGroupsForRoleAdmin=false solr.query.includeGroupsForRoleAdmin=false
solr.query.maximumResultsFromUnlimitedQuery=${system.acl.maxPermissionChecks} solr.query.maximumResultsFromUnlimitedQuery=${system.acl.maxPermissionChecks}
solr.baseUrl=/solr solr.baseUrl=/solr
solr.defaultUnshardedFacetLimit=100 solr.defaultUnshardedFacetLimit=100
solr.defaultShardedFacetLimit=20 solr.defaultShardedFacetLimit=20
solr.useDynamicShardRegistration=false solr.useDynamicShardRegistration=false
# #
# Solr Suggester properties # Solr Suggester properties
# #
solr.suggester.enabled=true solr.suggester.enabled=true
# #
# Default unsharded # Default unsharded
solr6.alfresco.nodeString= solr6.alfresco.nodeString=
solr6.alfresco.numShards=1 solr6.alfresco.numShards=1
solr6.alfresco.replicationFactor=1 solr6.alfresco.replicationFactor=1
solr6.archive.nodeString= solr6.archive.nodeString=
solr6.archive.numShards=1 solr6.archive.numShards=1
solr6.archive.replicationFactor=1 solr6.archive.replicationFactor=1
# SOLR Http Client Factory Properties
solr.http.socket.timeout=2000
solr.http.connection.timeout=500