【问题标题】:How to index and find numbers with Lucene.NET?如何使用 Lucene.NET 索引和查找数字?
【发布时间】:2010-09-22 14:06:34
【问题描述】:
我已经使用Lucene.NET(2.0 版)实现了对网站的全文搜索。索引和搜索效果很好,但我有一个问题。如果我查找数字(电话号码、产品编号等)作为搜索词,我不会得到任何结果文档。
我正在使用 Lucene.Net.Analysis.SimpleAnalyzer 类。我想我必须更改 Analyzer 和/或 Tokenizer。
有什么建议吗?
谢谢!
【问题讨论】:
标签:
.net
full-text-search
lucene
lucene.net
【解决方案1】:
当您构建 Lucene 文档时,您可以为每个字段选择不同的索引选项。对于不想标记化的字段,您需要选择 Field.Index.UN_TOKENIZED 选项。这将使您的电话号码和产品号码保持完整。
我还建议使用 StandardAnalyzer,因为它不会像 SimpleAnalyzer 那样去除数字。
为索引和搜索使用相同的分析器以获得一致的结果也很重要。