Thanks for the answer James. My fault not specifying the Solr version, we
are working with solr 4.5.
Anyway, thank you very much for pointing the change to
DirectSolrSpellChecker. I hadn't even realized that change, and I think I
wasn't using it, as the line str
name=classnamesolr.DirectSolrSpellChecker/str was missing in my
configuration. Once I changed it, I think everything is working fine even
after server restart.
Thanks again James, you've saved me from some serious headache ;)
2014-02-05 Dyer, James james.d...@ingramcontent.com:
Alejandro,
Assuming you're using Solr 3.x, under:
searchComponent name=spellcheck class=solr.SpellCheckComponent
lst name=spellchecker
...
/lst
/searchComponent
...you can add:
str name=spellcheckIndexDir./spellchecker/str
...then the spell check index will be created on-disk and not in memory.
But in Solr 4.0, the default spellcheck implementation changed to
org.apache.solr.spelling.DirectSolrSpellChecker, which does not create a
separate index for for spellchecking, build does nothing, and you need
not worry at all about these things. The wiki still says experimental
here but that is woefully out-of-date.
James Dyer
Ingram Content Group
(615) 213-4311
-Original Message-
From: Alejandro Marqués Rodríguez [mailto:
amarq...@paradigmatecnologico.com]
Sent: Wednesday, February 05, 2014 3:41 AM
To: solr-user@lucene.apache.org
Subject: Volatile spellcheck index
Hi,
I'm having a problem with the spell check index building. I've configured
the spell checker component to have the index built on optimize.
* !-- Spell Check http://wiki.apache.org/solr/SpellCheckComponent
http://wiki.apache.org/solr/SpellCheckComponent --*
* searchComponent name=spellcheck class=solr.SpellCheckComponent*
* str name=queryAnalyzerFieldTypespell/str*
* lst name=spellchecker*
* str name=namespellchecker/str*
* str name=fieldspell/str*
* str name=accuracy0.7/str*
* str name=buildOnOptimizetrue/str*
* /lst*
* /searchComponent*
* !-- A request handler for demonstrating the spellcheck component.
http://wiki.apache.org/solr/SpellCheckComponent
http://wiki.apache.org/solr/SpellCheckComponent for details --*
* requestHandler name=/spell class=solr.SearchHandler*
*lst name=defaults *
* str name=spellcheck.dictionaryspellchecker/str*
* str name=spellcheckon/str*
* str name=spellcheck.onlyMorePopularfalse/str*
* str name=spellcheck.extendedResultsfalse/str*
* str name=spellcheck.count1/str*
*/lst*
*arr name=last-components*
* strspellcheck/str*
*/arr*
* /requestHandler*
After the index process I launch an optimize request and the spellcheck
index is generated and everything is working fine. However, if I restart
Solr the spell check is not working anymore until I execute another
optimize request.
So, is this the expected way of working? Is the spell check index deleted
after every server restart? Is there any way to make it persistent?
And just one more question, I remember in previous Solr versions the
spellcheck had even its own folder under the data folder, so, for example I
could see if the spell check index had been generated just listing the
files under that folder. Does that folder still exist? Is there any way of
knowing if the spell check index has been generated without executing a
query that is supposed to return a correction?
Thanks in advance
--
Alejandro Marqués Rodríguez
Paradigma Tecnológico
http://www.paradigmatecnologico.com
Avenida de Europa, 26. Ática 5. 3ª Planta
28224 Pozuelo de Alarcón
Tel.: 91 352 59 42
--
Alejandro Marqués Rodríguez
Paradigma Tecnológico
http://www.paradigmatecnologico.com
Avenida de Europa, 26. Ática 5. 3ª Planta
28224 Pozuelo de Alarcón
Tel.: 91 352 59 42