It just means in your schema.xml, you have a SynonymFilterFactory configured, but it has no actual active rules (e.g. synonyms.txt is empty or all commented out).
the reason for the warning is that its a little strange to declare to use a synonymfilterfactory in the schema that doesn't actually have any synonyms, so it could indicate a configuration mistake. On Tue, Jul 12, 2011 at 12:02 AM, Stuart King <stu...@wenzani.com> wrote: > 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 <rcm...@gmail.com> 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 <stu...@wenzani.com> 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.<init>(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_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 >> > >> 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 com.intellij.rt.execution.application.AppMain.main(AppMain.java:120) >> > Caused by: org.apache.solr.client.solrj.SolrServerException: >> > org.apache.solr.client.solrj.SolrServerException: >> > java.lang.IllegalArgumentException: fst must be non-null >> > at >> > >> org.apache.solr.client.solrj.embedded.EmbeddedSolrServer.request(EmbeddedSolrServer.java:223) >> > 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) >> > ... 29 more >> > Caused by: org.apache.solr.client.solrj.SolrServerException: >> > java.lang.IllegalArgumentException: fst must be non-null >> > at >> > >> org.apache.solr.client.solrj.embedded.EmbeddedSolrServer.request(EmbeddedSolrServer.java:158) >> > ... 32 more >> > Caused by: java.lang.IllegalArgumentException: fst must be non-null >> > at >> > >> org.apache.lucene.analysis.synonym.SynonymFilter.<init>(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) >> > ... 32 more >> > >> > Any ideas? >> > >> > Stu >> > >> >> >> >> -- >> lucidimagination.com >> > -- lucidimagination.com