public class SpellChecker
extends java.lang.Object
Spell Checker class (Main class)
(initially inspired by the David Spencer code).
Example Usage:
SpellChecker spellchecker = new SpellChecker(spellIndexDirectory);
// To index a field of a user index:
spellchecker.indexDictionary(new LuceneDictionary(my_lucene_reader, a_field));
// To index a file containing words:
spellchecker.indexDictionary(new PlainTextDictionary(new File("myfile.txt")));
String[] suggestions = spellchecker.suggestSimilar("misspelt", 5);
| Modifier and Type | Class and Description |
|---|---|
class |
SpellChecker.IndexSearcherWrapper
For optimized used of the searcher, we keep it open as much as possible and
delay its close only when it is replaced by a new one when modifying index.
|
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
MAX_BUFFERED_DOCS
Optionnal integer property name to define the maxBufferedDocs when writing in spellchecker index
|
static java.lang.String |
MAX_MERGE_DOCS
Optionnal integer property name to define the maxMergeDocs when writing in spellchecker index
|
static java.lang.String |
MERGE_FACTOR
Optionnal integer property name to define the mergeFactor when writing in spellchecker index
|
static java.lang.String |
REVISION |
| Constructor and Description |
|---|
SpellChecker(org.apache.lucene.store.Directory gramIndex)
Build a new SpellChecker.
|
| Modifier and Type | Method and Description |
|---|---|
void |
clearIndex()
Completely clear index from its content
|
void |
closeAll() |
boolean |
exist(java.lang.String word)
Check whether the word exists in the index.
|
void |
indexDictionary(Dictionary dict)
Index a Dictionary
|
void |
renewReaderAndSeacher()
Renew internal reader and searcher, call this method after index change.
|
java.lang.String[] |
suggestSimilar(java.lang.String word,
int num_sug)
Suggest similar words
|
java.lang.String[] |
suggestSimilar(java.lang.String word,
int num_sug,
org.apache.lucene.index.IndexReader ir,
java.lang.String field,
boolean morePopular)
Suggest similar words (restricted or not to a field of a user index)
|
public static final java.lang.String REVISION
public static final java.lang.String MERGE_FACTOR
public static final java.lang.String MAX_MERGE_DOCS
public static final java.lang.String MAX_BUFFERED_DOCS
public SpellChecker(org.apache.lucene.store.Directory gramIndex)
throws java.io.IOException
gramIndex - the lucene directory in which to look and put indexed words (grams)java.io.IOException - index could not be openedpublic void closeAll()
public java.lang.String[] suggestSimilar(java.lang.String word,
int num_sug)
throws java.io.IOException
word - String the word you want a spell check done onnum_sug - int the number of suggest wordsjava.io.IOExceptionpublic java.lang.String[] suggestSimilar(java.lang.String word,
int num_sug,
org.apache.lucene.index.IndexReader ir,
java.lang.String field,
boolean morePopular)
throws java.io.IOException
word - String the word you want a spell check done onnum_sug - int the number of suggest wordsir - the indexReader of the user index (can be null see field param)field - String the field of the user index: if field is not null, the suggested
words are restricted to the words present in this field.morePopular - boolean return only the suggest words that are more frequent than the searched word
(only if restricted mode = (indexReader!=null and field!=null)java.io.IOExceptionpublic boolean exist(java.lang.String word)
throws java.io.IOException
word - Stringjava.io.IOExceptionpublic void indexDictionary(Dictionary dict) throws java.io.IOException
dict - the dictionary to indexjava.io.IOExceptionpublic void clearIndex()
throws java.io.IOException
java.io.IOException - if index could not be opened for operationpublic void renewReaderAndSeacher()
throws java.io.IOException
java.io.IOException - if index could not be openedCopyright © 2001-2010 Jalios SA. All Rights Reserved.