Hallo Community,
Ich betreibe eine Typo3 Installation in der Version: 7.6.12 auf einem Mittwald Server.
Zusätzlich ist diese mit einem Mittwald Solr Server in der Version 4.10.4 über die solr Extension Version: 4.0.2 konnektiert.
Die Installation läuft ohne Probleme bis ich ein Update der Solr Extension auf Version 5.0, 5.1 oder 5.1.1 durchführe.
Um die üblichen Standardantworten zu vermeiden hier einmal meine momentane Konfiguration aus dem Typo3 Report:
-
Apache Solr: 4.10.4
-
Ping Query Time: 15 ms
-
schema.xml: tx_solr-5-1-0--20160725
-
solrconfig.xml: tx_solr-4-0-0--20160406
-
Access Filter Plugin: 1.3.0
Zusätzlich wurden von mir alle relevanten Files mit der Vorlage des Solr Kerns aus der Extension ausgetauscht.
https://github.com/TYPO3-Solr/ext-solr/tree/5.1.1/Resources/Solr/typo3cores/conf
Die Verbindung wird erfolgreich aufgebaut, auch das Indexierung des Contents ist Funktional.
Nach dem Update der Extension ergibt sich folgendes Fehlerbild:
1. Suche im Frontend
Es tut uns leid. Ihre Suchanfrage konnte nicht verarbeitet werden.
2. Fehlermeldung im Logging des Solr Backends:
java.lang.NullPointerException
at org.typo3.solr.search.AccessFilter.getDocIdSet(AccessFilter.java:104)
at org.apache.lucene.search.ConstantScoreQuery$ConstantWeight.scorer(ConstantScoreQuery.java:157)
at org.apache.lucene.search.Weight.bulkScorer(Weight.java:131)
at org.apache.lucene.search.ConstantScoreQuery$ConstantWeight.bulkScorer(ConstantScoreQuery.java:141)
at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:618)
at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:297)
at org.apache.solr.search.SolrIndexSearcher.getDocSetNC(SolrIndexSearcher.java:1194)
at org.apache.solr.search.SolrIndexSearcher.getPositiveDocSet(SolrIndexSearcher.java:882)
at org.apache.solr.search.SolrIndexSearcher.getProcessedFilter(SolrIndexSearcher.java:1040)
at org.apache.solr.search.SolrIndexSearcher.getDocListNC(SolrIndexSearcher.java:1557)
at org.apache.solr.search.SolrIndexSearcher.getDocListC(SolrIndexSearcher.java:1433)
at org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:514)
at org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:484)
at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:218)
at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135)
at org.apache.solr.core.SolrCore.execute(SolrCore.java:1976)
at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:777)
at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:418)
at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:207)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1003)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Leider kann ich dieses Fehler nicht genau zuordnen.
Mir ist klar das er im Zusammenhang mit dem Access Filter steht nur wie ist mir nicht bewusst.
Eine Suchanfrage über curl liefert mir das gleiche Ergebnis:
curl 'solrXXXX:PASSWORD@solrXXXX.solr-hosting.info/KERN/select?fl=%2A%2Cscore&fq=siteHash%3A%2247e6cd0c2fd8051445120431d12b2f8b85af25a6%22&fq=%7B%21typo3access%7D-1%2C0&qf=content%5E40.0+title%5E5.0+keywords%5E2.0+tagsH1%5E5.0+tagsH2H3%5E3.0+tagsH4H5H6%5E2.0+tagsInline&wt=json&json.nl=map&q=Profil&start=0&rows=10'
Da ich nach dem Update auf die Extension Version: 4.0.2 schon ein ähnliches Problem hatte, hatte ich damals schon etwas gesucht und herausgefunden, es am fq=%7B%21typo3access%7D-1%2C0 (AccessFilter) lag.
Lasse ich den fq weg erhalte ich die gewünschten Ergebnisse ebenso eine Suche über das Query Menü im Solr Backend.
In der Extension ist für das setzen des AccessFilters die Funktion: setUserAccessGroups und addFilter verantwortlich. Zeile 883 folgende.
Damals hat Mittwald hier ein ein Update des Access Filter Plugins durchgeführt was den Fehler beheben konnte. Laut GitHub ist die Extension Version 5.0-5.1.1 aber weiterhin mit dem Access Filter Plugin 1.3.0 kompatibel.
https://github.com/TYPO3-Solr/ext-solr/blob/5.1.1/CONTRIBUTING.md
Kennt jemand dieses Verhalten oder hat jemand einen Tipp für mich in welche Richtung ich suchen kann?
Danke vorab,
Kneggebrot