Ticket #1638 (new defect)

Opened 1 month ago

Last modified 1 month ago

Solr doesn't work after installing deb packages

Reported by: flack Assigned to: piotras
Priority: major Milestone: 8.09.8 Ragnaroek
Component: Midgard Data Version: 8.09 Ragnaroek
Keywords: Cc:

Description

Installing midgard on Ubuntu via apt-get installs a huge number of packages, many of them solr-related (see #1613). Solr is not correctly configured, however. If you try to reindex a site, you get the following in catalina.log:

08.02.2010 10:04:05 org.apache.solr.core.SolrException log
SEVERE: org.apache.solr.core.SolrException: undefined field __TOPIC_GUID
	at org.apache.solr.schema.IndexSchema.getDynamicFieldType(IndexSchema.java:888)
	at org.apache.solr.schema.IndexSchema$SolrQueryAnalyzer.getAnalyzer(IndexSchema.java:282)
	at org.apache.solr.schema.IndexSchema$SolrIndexAnalyzer.tokenStream(IndexSchema.java:260)
	at org.apache.lucene.queryParser.QueryParser.getFieldQuery(QueryParser.java:429)
	at org.apache.solr.search.SolrQueryParser.getFieldQuery(SolrQueryParser.java:78)
	at org.apache.lucene.queryParser.QueryParser.Term(QueryParser.java:1092)
	at org.apache.lucene.queryParser.QueryParser.Clause(QueryParser.java:979)
	at org.apache.lucene.queryParser.QueryParser.Query(QueryParser.java:907)
	at org.apache.lucene.queryParser.QueryParser.TopLevelQuery(QueryParser.java:896)
	at org.apache.lucene.queryParser.QueryParser.parse(QueryParser.java:146)
	at org.apache.solr.search.QueryParsing.parseQuery(QueryParsing.java:94)
	at org.apache.solr.request.StandardRequestHandler.handleRequestBody(StandardRequestHandler.java:109)
	at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:77)
	at org.apache.solr.core.SolrCore.execute(SolrCore.java:659)
	at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:191)
	at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:159)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:616)
	at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:244)
	at java.security.AccessController.doPrivileged(Native Method)
	at javax.security.auth.Subject.doAsPrivileged(Subject.java:537)
	at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:276)
	at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:218)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.ApplicationFilterChain.access$0(ApplicationFilterChain.java:192)
	at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:171)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:167)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
	at java.lang.Thread.run(Thread.java:636)

08.02.2010 10:04:05 org.apache.solr.core.SolrCore execute
INFO: /select fl=*,score&q=__TOPIC_GUID:d350ba62e27f11dd92a8d13bcb5963e863e8&fq=__INDEX_NAME:"localhost_"&rows=1000 0 47

The problem is that the needed schema.xml file is missing. In fact, it is missing entirely from the Ragnaroek branch, you have to manually copy it to your server from SVN trunk/external-tools/indexer-backends/solr/schema.xml

Change History

02/09/10 16:26:40 changed by rambo

We should make packages (solr-schema-midcom ?) that put the schema file to correct place.

But in short customizing the solr schema is practically required whenever one wishes to use it so it's not really an issue that it has to be done but that it's not really explained properly during the installtion process.