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

Reply via email to