fst must be non null

2011-07-11 Thread Stuart King
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

2011-07-11 Thread Stuart King
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)
> >