//Method to create document
private static Document createDocumentTextField(HashMap<String, String>
fields) {
Document document = new Document();
for (String key : fields.keySet()) {
String val = fields.get(key);
Field f = new TextField(key, val, Field.Store.YES);
TokenStream result = getTokenStreamByVal(val);
f.setTokenStream(result);
document.add(f);
}
return document;
}
//Method handling cleanup and return tokenStream
private static TokenStream getTokenStreamByVal(String val) {
final StandardTokenizer source = new StandardTokenizer();
String NEGATION_PATTERN = "\\b(non|anti)( )";
Pattern negationPattern =
Pattern.compile(NEGATION_PATTERN,Pattern.CASE_INSENSITIVE);
String cleanedVal = return
negationPattern.matcher(input).replaceAll("$1");
source.setReader(new
StringReader(StringUtil.cleanNegationSearchPrefix(val)));
TokenStream result = new StandardFilter(source);
//Add as many filters as required for your specific requirements
return result;
}
--
Sent from: https://lucene.472066.n3.nabble.com/Lucene-Java-Users-f532864.html
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]