RE: Volatile spellcheck index

2014-02-05 Thread Dyer, James
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



Re: Volatile spellcheck index

2014-02-05 Thread Alejandro Marqués Rodríguez
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