I'm trying to use the new InfixSuggester exposed in 4.7 and I'm getting some errors on startup, they don't seem to necessarily cause any problems, my app still seems to run, but I get the following:
17:28:54.721 WARN {coreLoadExecutor-4-thread-1} [o.a.s.core.SolrCore] : [vpr] Solr index directory '/app/data/dir/solr/data/index' doesn't exist. Creating new index... 17:28:55.194 ERROR {searcherExecutor-5-thread-1} [o.a.s.core.SolrCore] : Exception in reloading suggester index for: phrase_suggester java.io.FileNotFoundException: /app/data/dir/solr/data/suggest_infix_dict/iwfsta.bin (No such file or directory) at java.io.FileInputStream.open(Native Method) ~[na:1.7.0_40] at java.io.FileInputStream.<init>(FileInputStream.java:146) ~[na:1.7.0_40] at org.apache.solr.spelling.suggest.SolrSuggester.reload(SolrSuggester.java:158) ~[solr-core-4.7.0.jar:4.7.0 1570806 - simon - 2014-02-22 08:36:23] at org.apache.solr.handler.component.SuggestComponent$SuggesterListener.newSearcher(SuggestComponent.java:465) ~[solr-core-4.7.0.jar:4.7.0 1570806 - simon - 2014-02-22 08:36:23] at org.apache.solr.core.SolrCore$5.call(SolrCore.java:1695) [solr-core-4.7.0.jar:4.7.0 1570806 - simon - 2014-02-22 08:36:23] at java.util.concurrent.FutureTask.run(FutureTask.java:262) [na:1.7.0_40] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_40] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_40] at java.lang.Thread.run(Thread.java:724) [na:1.7.0_40] Relevant config is: <searchComponent class="solr.SuggestComponent" name="suggester" startup="lazy"> <lst name="suggester"> <str name="name">phrase_suggester</str> <str name="lookupImpl">AnalyzingInfixLookupFactory</str> <str name="dictionaryImpl">HighFrequencyDictionaryFactory</str> <str name="field">phrase</str> <str name="payloadField">pid</str> <str name="indexPath">${solr.data.dir:}/suggest_infix</str> <str name="storeDir">${solr.data.dir:}/suggest_infix_dict</str> <str name="suggestAnalyzerFieldType">text_general</str> <str name="buildOnCommit">true</str> <str name="buildOnOptimize">true</str> </lst> <lst name="suggester"> <str name="name">freetext_suggester</str> <str name="lookupImpl">FreeTextLookupFactory</str> <str name="dictionaryImpl">HighFrequencyDictionaryFactory</str> <str name="field">spell</str> <str name="payloadField">pid</str> <str name="suggestFreeTextAnalyzerFieldType">text_general</str> <str name="buildOnCommit">true</str> </lst> </searchComponent> And I was poking through the source from: http://svn.apache.org/repos/asf/lucene/dev/trunk/solr/core/src/java/org/apache/solr/spelling/suggest/SolrSuggester.javato see where the exception came from, and was wondering if in SolrSuggester.reload(...) the FileInputStream should be opened in the try/catch block? Error seems to go away if I create an empty file for it to find. Thanks, Brian