Hmmm, this does look like a problem.
In general, a searcher is opened first, and then inform() is called on
components.

I like the sequence.

At the time, firstSearcherListeners includes SpellChecker's 
firstSearcherListner,
registered by procedure 3 above. But if you have no<listener 
event="firstSearcher"/>
registered in solrconfig.xml, at the procedure 2, searcherExecutor.submit()
is never called because firstSearcherListeners.size() is zero at the moment.

I made it was misleading. I think there is a timing issue. Regardless of the 
existence
of <listener event="firstSearcher"/> in solrconfig.xml, SpellChecker's 
firstSearcher
listener can never be called, because Callable.call() can be called before 
executing
SolrCoreAware.inform().

How about moving the following block:

for (SolrEventListener listener : firstSearcherListeners) {
  listener.newSearcher(newSearcher,null);
}

to the end of SolrCore constructor from getSearcher(), because it is for 
firstSearcher?

Koji
--
http://www.rondhuit.com/en/

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to