在迁移到Alfresco CE 6.1(201901 GA)和Alfresco搜索服务后,我们有了大量的搜索性能问题。因此,我尝试通过遵循手动创建Solr分片来在solr中配置分片。 我能够创建分片和索引接缝,但是当我配置Alfresco在 alfresco-global.properties
After migrating to Alfresco CE 6.1 (201901 GA) and Alfresco Search Services we have massive search performance problems. So I tried to configure sharding in solr by following Creating Solr shards manually. I was able to create the shards and indexing seams to work but when I configure Alfresco to use sharding in alfresco-global.properties
solr6.store.mappings.value.solrMappingAlfresco.nodeString=solr.mycompany:8983/solr/#/alfresco solr6.store.mappings.value.solrMappingAlfresco.numShards=4 solr6.store.mappings.value.solrMappingAlfresco.replicationFactor=1 solr6.store.mappings.value.solrMappingArchive.nodeString=solr.mycompany:8983/solr/#/archive solr6.store.mappings.value.solrMappingArchive.numShards=4 solr6.store.mappings.value.solrMappingArchive.replicationFactor=1我收到请求失败405
I get a "Request failed 405"
/solr/#/alfresco-2/alfresco?wt=json&fl=DBID%2Cscore&rows=50&shards=solr.mycompany:8983%2Fsolr%2F%23%2Falfresco-0,solr.mycompany:8983%2Fsolr%2F%23%2Falfresco-1,solr.mycompany:8983%2Fsolr%2F%23%2Falfresco-2,solr.mycompany:8983%2Fsolr%2F%23%2Falfresco-3&df=TEXT&start=0&locale=*&alternativeDic=DEFAULT_DICTIONARY&sort=%40cm%3Amodified+desc&fq=%7B%21afts%7DAUTHORITY_FILTER_FROM_JSON&fq=%7B%21afts%7DTENANT_FILTER_FROM_JSON at org.alfresco.repo.search.impl.solr.AbstractSolrQueryHTTPClient.postQuery(AbstractSolrQueryHTTPClient.java:79) at org.alfresco.repo.search.impl.solr.SolrQueryHTTPClient.postSolrQuery(SolrQueryHTTPClient.java:1116) at es.keensoft.repo.search.impl.solr.EnhancedSolrQueryHTTPClient.postSolrQuery(EnhancedSolrQueryHTTPClient.java:43) at org.alfresco.repo.search.impl.solr.SolrQueryHTTPClient.executeQuery(SolrQueryHTTPClient.java:583) at org.alfresco.repo.search.impl.solr.SolrQueryLanguage.executeQuery(SolrQueryLanguage.java:52) at org.alfresco.repo.search.impl.solr.SolrSearchService.query(SolrSearchService.java:354) at org.alfresco.repo.search.SearcherComponent.query(SearcherComponent.java:84) at jdk.internal.reflect.GeneratedMethodAccessor789.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.base/java.lang.reflect.Method.invoke(Unknown Source) at org.alfresco.repo.management.subsystems.SubsystemProxyFactory$1.invoke(SubsystemProxyFactory.java:79) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) at com.sun.proxy.$Proxy36.query(Unknown Source) at org.alfresco.repo.search.impl.SearchServiceSubSystemDelegator.query(SearchServiceSubSystemDelegator.java:133) at jdk.internal.reflect.GeneratedMethodAccessor789.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.base/java.lang.reflect.Method.invoke(Unknown Source) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at net.sf.acegisecurity.intercept.method.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:80) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.alfresco.repo.security.permissions.impl.ExceptionTranslatorMethodInterceptor.invoke(ExceptionTranslatorMethodInterceptor.java:53) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.alfresco.repo.audit.AuditMethodInterceptor.invoke(AuditMethodInterceptor.java:166) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:294) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:98) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) at com.sun.proxy.$Proxy36.query(Unknown Source) at org.alfresco.repo.jscript.Search.queryResultMeta(Search.java:1016) ... 100 more为了获得更好的可读性,将解码后的POST网址发布到solr:
For better readability the decoded POST url to solr:
/solr/#/alfresco-2/alfresco?wt=json&fl=DBID,score&rows=50&shards=solr.mycompany:8983/solr/#/alfresco-0,solr.mycompany:8983/solr/#/alfresco-1,solr.mycompany:8983/solr/#/alfresco-2,solr.mycompany:8983/solr/#/alfresco-3&df=TEXT&start=0&locale=*&alternativeDic=DEFAULT_DICTIONARY&sort=@cm:modified+desc&fq={!afts}AUTHORITY_FILTER_FROM_JSON&fq={!afts}TENANT_FILTER_FROM_JSON已经有人成功配置了分片Alfresco搜索服务(1.3.x,1.4)和Alfresco 6.1社区? 是否有人暗示出了什么问题? Alfresco似乎不使用solr标准url来搜索分片索引,所以我不知何故失去了如何使它工作的方法。
Was anybody already successfully in configuring sharding in Alfresco Search Services (1.3.x, 1.4) and Alfresco 6.1 Community? Does anybody have a hint what is going wrong? Alfresco seems not to use the solr standard urls for searching in the sharded index so I'm somehow lost how to get this working.
推荐答案回答我自己的问题:示例手动创建Solr碎片 doc示例应该在url中没有哈希符号,但是如果solr在SSL支持下运行,不会起作用。
to answer my own question: the example Creating Solr shards manually doc example should be without the hash sign in the url but does not work if solr runs with SSL support.
solr6.store.mappings.value.solrMappingAlfresco.nodeString=solr.mycompany:8983/solr/alfresco solr6.store.mappings.value.solrMappingAlfresco.numShards=4 solr6.store.mappings.value.solrMappingAlfresco.replicationFactor=1 solr6.store.mappings.value.solrMappingArchive.nodeString=solr.mycompany:8983/solr/archive solr6.store.mappings.value.solrMappingArchive.numShards=4 solr6.store.mappings.value.solrMappingArchive.replicationFactor=1或者,可以使用DynamicShardRegistration,该文档未记录为在社区版本中可用,但是如果您设置
as an alternative it is possible to use the DynamicShardRegistration which is not documented to work in the community version but is working if you set
useDynamicShardRegistration=true在alfresco-global.properties中
in alfresco-global.properties
另请参见> github/Alfresco/SearchServices/ Issues / 232
更多推荐
在Alfresco 6.1 CE中创建Solr分片
发布评论