<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">OK I looked at the SpellChecker code from the Lucene contrib) and there is no trivial way to integrate it more nicely into Hibernate Search. They did not really plan for flexibility.<div><br><div>But it's doable to fork this code and make a spellchecker feature in Hibernate Search. Here are a few limitations they have that we need to remove. Here is a proposal.</div><div>&nbsp;- more than one field and even more than one index should be the source of the dictionary</div><div>&nbsp;- declaring which field is part of a dictionary should be declarative @AddToDictionary(name="main-dictionary") (with probably an optional field name(s))</div><div>&nbsp;- for a given dictionary name, we need to associate an index and probably a field prefix (to share the same index for all dictionaries). This couold be by annotations or in the configuration (not sure)</div><div>&nbsp;- this index should be kept like any other DirectoryProvider in the HSearch intrastructure (we could then reuse ReaderProvider internally and don't have leaks).&nbsp;</div><div>&nbsp;- we will probably add a manual dictionary reindex method and the SpellChecker API should be in the SearchFactory.&nbsp;</div><div>&nbsp;&nbsp; &nbsp;sf.getDictionary("main-dictionary").spellcheck(word, suggestion);</div><div>&nbsp;&nbsp; &nbsp;sf.getDictionary("main-dictionary").spellcheck(word, suggestion, entity, properties...); //not sure how useful is this one really</div><div>&nbsp;&nbsp; &nbsp;sf.getDictionary("main-dictionary").reindex();</div><div><br></div><div>Of course this needs to be refined.</div><div>&nbsp;</div><div>This is probably 3 or 4 days of work but unfortunately we cannot do that for the book it seems. I would be wort mentioning in the section that a more integrated solution in on it's way.</div><div><br><div> <span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>--</div><div><div>Emmanuel Bernard</div><div><a href="http://in.relation.to/Bloggers/Emmanuel">http://in.relation.to/Bloggers/Emmanuel</a>&nbsp;|&nbsp;<a href="http://blog.emmanuelbernard.com/">http://blog.emmanuelbernard.com</a>&nbsp;|&nbsp;<a href="http://twitter.com/emmanuelbernard">http://twitter.com/emmanuelbernard</a></div><div>Hibernate Search in Action (<a href="http://is.gd/Dl1">http://is.gd/Dl1</a>)</div></div></div></span></div></span></div></span> </div><br><div><div>On &nbsp;Sep 12, 2008, at 09:15, John Griffin wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr"><br clear="all">Here's the file as a zip. Maybe the pdf wasn't passing.<br><br>Also, Nermina pointed out to me that I skipped section 7.3. So ANY reference</div></blockquote></div></div></div></body></html>