The spellchecker in my 1.4 install started behaving increasingly erratically andsuggestions would only be returned some of the time with the same query.
I tried to force a rebuild using spellcheck.build=yes The full request being /select/?q=alexandr the great& indent=on& fl=title& spellcheck=yes& spellcheck.collate=yes& spellcheck.count=3& qt=dismax& spellcheck.build=yes and the request spun for a while and then returned HTTP Status 500 - this IndexReader is closed org.apache.lucene.store.AlreadyClosedException: this IndexReader is closed at org.apache.lucene.index.IndexReader.ensureOpen(IndexReader.java:209) at org.apache.lucene.index.DirectoryReader.docFreq(DirectoryReader.java:624) at org.apache.lucene.search.IndexSearcher.docFreq(IndexSearcher.java:147) at org.apache.lucene.search.spell.SpellChecker.exist(SpellChecker.java:315) at org.apache.lucene.search.spell.SpellChecker.indexDictionary(SpellChecker.java:339) at org.apache.lucene.search.spell.SpellChecker.indexDictionary(SpellChecker.java:362) at org.apache.solr.spelling.IndexBasedSpellChecker.build(IndexBasedSpellChecker.java:89) at org.apache.solr.handler.component.SpellCheckComponent.prepare(SpellCheckComponent.java:102) at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:174) at [ .. snip .. ] And the spellcheck directory now has a write.lock file. I tried a couple more times then stopped tomcat, deleted the write.lock, restarted and tried again. Same error. So I stopped tomcat again, nuked the spellcheck directory, restarted tomcat and tried again. Same error. I tried one more time and got a "This file does not exists _f00.cfs" tried again and got the "Index Reader is closed" error again. My source index is 58Gb. Any ideas? Simon