Hi, Something funny is going on in the current 3.1 branch which is bothering me at least since a couple of days. My solrconfig hasn't really changed (perhaps some request handler diffs) and my schema hasn't changed for a long time.
For some unknown reason, indexing or searching with spellcheck enabled throws an exception (see below). It happens when i send data to the index and spellcheck updates are enabled through a copyField such as: <field name="spellcheck" type="textSpell" indexed="true" stored="false" multiValued="true" /> <copyField source="content" dest="spellcheck"/> <copyField source="title" dest="spellcheck"/> Do make things clear, it does not happen when these are commented out. When i check the textSpell fieldType there seems nothing wrong: <fieldType name="textSpell" class="solr.TextField" positionIncrementGap="100"> <analyzer type="index"> <tokenizer class="solr.StandardTokenizerFactory"/> <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/> <filter class="solr.StandardFilterFactory"/> <filter class="solr.RemoveDuplicatesTokenFilterFactory"/> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> <analyzer type="query"> <tokenizer class="solr.StandardTokenizerFactory"/> <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/> <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/> <filter class="solr.StandardFilterFactory"/> <filter class="solr.RemoveDuplicatesTokenFilterFactory"/> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> </fieldType> It clearly complains when the textSpell fieldType is touched, either by updating the spellcheck index through copyField, or by consulting the spellcheck index through a query (returns the same exception). And judging from the exception, it's obvious that there's something wrong with the StandardFilterFactory. As a matter of fact, the StandardFilterFactory will always throw an exception in my set up (which has been svn upped and recompiled today) regardless of the analyzer you put it in. I checked and it doesn't look like it's a known issue? Is it? Oct 13, 2010 12:01:14 PM org.apache.solr.core.SolrDeletionPolicy updateCommits INFO: newest commit = 1286963059534 Oct 13, 2010 12:01:14 PM org.apache.solr.update.processor.LogUpdateProcessor finish INFO: {} 0 118 Oct 13, 2010 11:56:44 AM org.apache.solr.common.SolrException log SEVERE: java.lang.NoSuchMethodError: org.apache.lucene.analysis.standard.StandardFilter.<init>(Lorg/apache/lucene/util/Version;Lorg/apache/lucene/analysis/TokenStream;)V at org.apache.solr.analysis.StandardFilterFactory.create(StandardFilterFactory.java:36) at org.apache.solr.analysis.StandardFilterFactory.create(StandardFilterFactory.java:28) at org.apache.solr.analysis.TokenizerChain.getStream(TokenizerChain.java:71) at org.apache.solr.analysis.SolrAnalyzer.reusableTokenStream(SolrAnalyzer.java:74) at org.apache.solr.schema.IndexSchema$SolrIndexAnalyzer.reusableTokenStream(IndexSchema.java:387) at org.apache.lucene.index.DocInverterPerField.processFields(DocInverterPerField.java:126) at org.apache.lucene.index.DocFieldProcessorPerThread.processDocument(DocFieldProcessorPerThread.java:247) at org.apache.lucene.index.DocumentsWriter.updateDocument(DocumentsWriter.java:828) at org.apache.lucene.index.DocumentsWriter.updateDocument(DocumentsWriter.java:809) at org.apache.lucene.index.IndexWriter.updateDocument(IndexWriter.java:2175) at org.apache.lucene.index.IndexWriter.updateDocument(IndexWriter.java:2147) at org.apache.solr.update.DirectUpdateHandler2.addDoc(DirectUpdateHandler2.java:241) at org.apache.solr.update.processor.RunUpdateProcessor.processAdd(RunUpdateProcessorFactory.java:61) at org.apache.solr.handler.XMLLoader.processUpdate(XMLLoader.java:139) at org.apache.solr.handler.XMLLoader.load(XMLLoader.java:69) at org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:54) at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:131) at org.apache.solr.core.SolrCore.execute(SolrCore.java:1322) at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:341) at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:244) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418) at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230) at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:326) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:938) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:842) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228) at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582) Cheers, -- Markus Jelsma - CTO - Openindex http://www.linkedin.com/in/markus17 050-8536600 / 06-50258350