Google의 액세스 권한에 해당하는 solr 검색 결과를 필터링해야합니다 (drupal 7 + 비트 마스크를 기반으로하는 사용자 정의 액세스 제어 메커니즘).Apache Solr : 검색 결과를 필터링하는 비트 연산
정수 필드의 비트 연산을 기반으로하는 검색 결과 필터링을위한 Solr QParserPlugin 플러그인이 있습니다 : https://issues.apache.org/jira/browse/SOLR-1913.
I는 드루팔 모듈 search_api_solr 및 solrconfig 의해 제공된 schema.xml로 (데비안 시스템)에 tomcat6 SOLR 3.6.1 (+ /var/lib/tomcat6/solr/lib/bitwise_filter_plugin.jar에 플러그인)를 사용하고 모듈에서 발췌 한 .xml은 SOLR-1913 문제에서 설명한대로 확장됩니다.
Sep 27, 2012 8:57:41 AM org.apache.solr.core.SolrCore execute
INFO: [] webapp=/solr path=/select params={qf=t_title&fl=*,score&fq={!bitwise+field%3Dis_bitmask+op%3DAND+source%3D1234}} status=500 QTime=15
Sep 27, 2012 8:57:41 AM org.apache.solr.common.SolrException log
SEVERE: java.lang.NullPointerException
at org.apache.lucene.search.FilteredQuery.hashCode(FilteredQuery.java:268)
at java.util.AbstractList.hashCode(AbstractList.java:542)
at org.apache.solr.search.QueryResultKey.<init>(QueryResultKey.java:49)
at org.apache.solr.search.SolrIndexSearcher.getDocListC(SolrIndexSearcher.java:1084)
at org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:375)
at org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:394)
at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:186)
at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:129)
at org.apache.solr.core.SolrCore.execute(SolrCore.java:1376)
at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:365)
at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:260)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:636)
나는 오류 메시지에서 볼 수있는 유일한 것은이 때문이다 :
SOLR 쿼리 ...
http://solr:8080/solr/select?qf=t_title&fl=*,score&fq={!bitwise field=is_bitmask op=AND source=1234}*
... 오류 로그에 다음과 같은 메시지와 함께 실패 플러그인은 solr에 의해 호출됩니다.
감사합니다. 감사합니다. 감사합니다.
jar를 다운로드하여 링크 된 페이지가 제안하는대로 solrconfig.xml에 포함 시켰습니까? 당신은 Drupal 모듈 개발자가 제공 한 버전을 사용하고 있다고 말합니다. – kekkis
예, solrconfig.xml을 편집하여 jar를 올바른 위치에 배치했습니다. 플러그인이 제대로 포함되어 있습니다. 그렇지 않으면 백 트레이스에 나타나지 않고 solr이 bitwise 연산자를 알지 못한다고 불평 할 것입니다. ...이 질문을 좀 더 명확하게하기 위해 편집했습니다. 감사합니다. – LarS
@kekkis : 쿼리 구문이 정확하다고 생각합니까? [DisMax Parameters] (http://lucidworks.lucidimagination.com/display/solr/The+DisMax+Query+Parser)와 관련하여 뭔가 빠졌습니다. – LarS