I've noticed that the sample code to do the SynonymAnalyzer from the book Lucene in Action doesn't work right on Lucene 2.2. In my sample application I am using categorizing food names into food categories using the Synonym patern.
Using the excerpted:
private void addAliasesToStack(Token token) throws IOException {
String[] synonyms = engine.getSynonyms(token.termText());
if (synonyms == null) return;
for (int i = 0; i < synonyms.length; i++) {
Token synToken = new Token(synonyms[i],
token.startOffset(),
token.endOffset(),
TOKEN_TYPE_SYNONYM);
synToken.setPositionIncrement(0);
synonymStack.push(synToken);
}
}
Ends up only indexing the synonym, but not the base word itself. If I
comment out the 'synToken.setPositionIncrement(0)' line, it works, but
now that throws off the token positions. This probably doesn't matter,
but I'm curious what the new prefered approach is here?
Thanks in advance,
-Sean
--
__________________________________________________________________
Sean Dague Mid-Hudson Valley
sean at dague dot net Linux Users Group
http://dague.net http://mhvlug.org
There is no silver bullet. Plus, werewolves make better neighbors
than zombies, and they tend to keep the vampire population down.
__________________________________________________________________
signature.asc
Description: Digital signature
