5

我已经使用Lucene.NET(2.0 版)实现了对网站的全文搜索。索引和搜索效果很好,但我有一个问题。如果我查找数字(电话号码、产品编号等)作为搜索词,我不会得到任何结果文档。

我正在使用 Lucene.Net.Analysis.SimpleAnalyzer 类。我想我必须更改 Analyzer 和/或 Tokenizer。

有什么建议吗?

谢谢!

4

1 回答 1

14

构建 Lucene 文档时,您可以为每个字段选择不同的索引选项。对于不想标记化的字段,您需要选择 Field.Index.UN_TOKENIZED 选项。这将使您的电话号码和产品号码保持完整。

我还建议使用 StandardAnalyzer,因为它不会像 SimpleAnalyzer 那样去除数字。

为索引和搜索使用相同的分析器以获得一致的结果也很重要。

于 2008-11-16T17:25:17.327 回答