索引和搜索lucene中的'@','#'等特殊字符

时间:2013-02-06 15:46:39

标签: lucene

我使用StandardAnlyzer索引字段,从输入字符串中删除标点符号。我的输入字符串包含@#-等特殊字符。

例如:索引数据可能包含像userid这样的值:AB@234ABC#DF

我正在尝试更新传递BooleanQuery uesrid的索引:ABC@34以使用writer.deletedocuments(query);删除以前的文档  并使用writer.updateDocuments(Term,document);

更新索引

使用上述查询删除当前indexex会删除所有以ABC@开头的值。即,也会删除包含用户ID值ABC@123ABC@55等的文档。

任何人都可以建议索引和更新包含上述特殊字符的特定文档的解决方案。

任何建议都受到高度赞赏。

提前感谢。

Chakradhar

1 个答案:

答案 0 :(得分:2)

最好的选择可能是使用KeywordAnalyzer为您的userid字段编制索引,然后使用IndexWriter.deleteDocuments(Term)删除文档。