fst must be non null
I have been building and running against trunk. In my build I have a number of tests, testing solr functionality within my app. As of yesterday, I am getting build failures with this exception. Something has changed on trunk. I am not sure what. ERROR [12 Jul 2011 12:49:28] org.apache.solr.core.SolrCore - java.lang.IllegalArgumentException: fst must be non-null at org.apache.lucene.analysis.synonym.SynonymFilter.(SynonymFilter.java:227) at org.apache.solr.analysis.FSTSynonymFilterFactory.create(FSTSynonymFilterFactory.java:59) at org.apache.solr.analysis.SynonymFilterFactory.create(SynonymFilterFactory.java:46) at org.apache.solr.analysis.TokenizerChain.getStream(TokenizerChain.java:71) at org.apache.solr.analysis.SolrAnalyzer.reusableTokenStream(SolrAnalyzer.java:75) at org.apache.solr.schema.IndexSchema$SolrIndexAnalyzer.reusableTokenStream(IndexSchema.java:330) at org.apache.lucene.queryparser.classic.QueryParserBase.newFieldQuery(QueryParserBase.java:477) at org.apache.lucene.queryparser.classic.QueryParserBase.getFieldQuery(QueryParserBase.java:465) at org.apache.solr.search.SolrQueryParser.getFieldQuery(SolrQueryParser.java:127) at org.apache.lucene.queryparser.classic.QueryParserBase.handleBareTokenQuery(QueryParserBase.java:1054) at org.apache.lucene.queryparser.classic.QueryParser.Term(QueryParser.java:358) at org.apache.lucene.queryparser.classic.QueryParser.Clause(QueryParser.java:257) at org.apache.lucene.queryparser.classic.QueryParser.Query(QueryParser.java:181) at org.apache.lucene.queryparser.classic.QueryParser.TopLevelQuery(QueryParser.java:170) at org.apache.lucene.queryparser.classic.QueryParserBase.parse(QueryParserBase.java:119) at org.apache.solr.search.LuceneQParser.parse(LuceneQParserPlugin.java:74) at org.apache.solr.search.QParser.getQuery(QParser.java:143) at org.apache.solr.handler.component.QueryComponent.prepare(QueryComponent.java:97) at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:173) at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:129) at org.apache.solr.core.SolrCore.execute(SolrCore.java:1404) at org.apache.solr.client.solrj.embedded.EmbeddedSolrServer.request(EmbeddedSolrServer.java:156) at org.apache.solr.client.solrj.request.QueryRequest.process(QueryRequest.java:89) at org.apache.solr.client.solrj.SolrServer.query(SolrServer.java:123) at com.wenzani.search.Search.search(Search.java:28) at com.wenzani.search.user.UserIndexSearchTest.testIndexAndSearch_ByFirstName(UserIndexSearchTest.java:50) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) at org.junit.runners.ParentRunner.run(ParentRunner.java:236) at org.junit.runner.JUnitCore.run(JUnitCore.java:157) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:71) at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:199) at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:62) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120) INFO [12 Jul 2011 12:49:28] org.apache.solr.core.SolrCore - [users] webapp=null path=/select params={fl=id&sort=score+desc&q=first_name%3AhKuPIBv3Ct} status=500 QTime=18 com.wenzani.search.SearchException at com.wenzani.search.Search.search(Search.java:30) at com.wenzani.search.user.UserIndexSearchTest.testIndexAndSearch_ByFirstNa
Re: fst must be non null
Sorry Robert, What does that mean? Should I be providing synonyms in my queries? Cheers Stu On Tue, Jul 12, 2011 at 1:49 PM, Robert Muir wrote: > I just committed a fix for this, to warn that you are using an empty > set of synonyms instead of error. > > On Mon, Jul 11, 2011 at 10:50 PM, Stuart King wrote: > > I have been building and running against trunk. In my build I have a > number > > of tests, testing solr functionality within my app. > > > > As of yesterday, I am getting build failures with this exception. > Something > > has changed on trunk. I am not sure what. > > > > ERROR [12 Jul 2011 12:49:28] org.apache.solr.core.SolrCore - > > java.lang.IllegalArgumentException: fst must be non-null > > at > > > org.apache.lucene.analysis.synonym.SynonymFilter.(SynonymFilter.java:227) > > at > > > org.apache.solr.analysis.FSTSynonymFilterFactory.create(FSTSynonymFilterFactory.java:59) > > at > > > org.apache.solr.analysis.SynonymFilterFactory.create(SynonymFilterFactory.java:46) > > at > org.apache.solr.analysis.TokenizerChain.getStream(TokenizerChain.java:71) > > at > > > org.apache.solr.analysis.SolrAnalyzer.reusableTokenStream(SolrAnalyzer.java:75) > > at > > > org.apache.solr.schema.IndexSchema$SolrIndexAnalyzer.reusableTokenStream(IndexSchema.java:330) > > at > > > org.apache.lucene.queryparser.classic.QueryParserBase.newFieldQuery(QueryParserBase.java:477) > > at > > > org.apache.lucene.queryparser.classic.QueryParserBase.getFieldQuery(QueryParserBase.java:465) > > at > > > org.apache.solr.search.SolrQueryParser.getFieldQuery(SolrQueryParser.java:127) > > at > > > org.apache.lucene.queryparser.classic.QueryParserBase.handleBareTokenQuery(QueryParserBase.java:1054) > > at > > > org.apache.lucene.queryparser.classic.QueryParser.Term(QueryParser.java:358) > > at > > > org.apache.lucene.queryparser.classic.QueryParser.Clause(QueryParser.java:257) > > at > > > org.apache.lucene.queryparser.classic.QueryParser.Query(QueryParser.java:181) > > at > > > org.apache.lucene.queryparser.classic.QueryParser.TopLevelQuery(QueryParser.java:170) > > at > > > org.apache.lucene.queryparser.classic.QueryParserBase.parse(QueryParserBase.java:119) > > at > org.apache.solr.search.LuceneQParser.parse(LuceneQParserPlugin.java:74) > > at org.apache.solr.search.QParser.getQuery(QParser.java:143) > > at > > > org.apache.solr.handler.component.QueryComponent.prepare(QueryComponent.java:97) > > at > > > org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:173) > > at > > > org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:129) > > at org.apache.solr.core.SolrCore.execute(SolrCore.java:1404) > > at > > > org.apache.solr.client.solrj.embedded.EmbeddedSolrServer.request(EmbeddedSolrServer.java:156) > > at > > > org.apache.solr.client.solrj.request.QueryRequest.process(QueryRequest.java:89) > > at org.apache.solr.client.solrj.SolrServer.query(SolrServer.java:123) > > at com.wenzani.search.Search.search(Search.java:28) > > at > > > com.wenzani.search.user.UserIndexSearchTest.testIndexAndSearch_ByFirstName(UserIndexSearchTest.java:50) > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > at > > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > > at > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > > at java.lang.reflect.Method.invoke(Method.java:597) > > at > > > org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44) > > at > > > org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) > > at > > > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41) > > at > > > org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) > > at > > > org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) > > at > > > org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76) > > at > > > org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) > > at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193) > > at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52) > > at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191) > > at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42) > >