我使用Lucene.NET(版本2.0)实现了对网站的全文搜索。索引和搜索效果很好,但我有一个问题。如果我查找数字(电话号码,产品编号等)作为搜索字词,我就不会收到任何结果文件。
我正在使用Lucene.Net.Analysis.SimpleAnalyzer类。我想我必须更改Analyzer和/或Tokenizer。
有什么建议吗?
谢谢!
答案 0 :(得分:13)
当您构建Lucene文档时,您可以为每个字段选择不同的索引选项。对于不希望标记化的字段,您需要选择Field.Index.UN_TOKENIZED选项。这将保持您的电话号码和产品编号。
我还建议使用StandardAnalyzer,因为它不像SimpleAnalyzer那样删除数字。
使用相同的分析器进行索引和搜索也很重要,以获得一致的结果。