【发布时间】:2011-11-14 19:02:38
【问题描述】:
我正在使用 Lucene.Net 2.9.2,我认为我需要编写一个自定义标记器,但我想检查一下我是否遗漏了一些明显的东西。
该文档由标题、关键字和内容以及一些元数据(如作者、日期等)组成,每个元数据都存储为一个字段。这些文档是软件技术文档,可能在标题、关键字和/或内容中包含“.Net”、“C++”、“C#”等短语。
我将 KeywordAnalyzer 用于 Keyword 字段,StandardAnalyzer 用于 Title 和 Content - StopWords 和 LowerCase 等是必需的,因为文档可能很长。
我还为搜索编写了一个同义词自定义过滤器,因为我想搜索例如“C#”但也识别“CSharp”、“C#.Net”等。标记器已经删除了“#” 'C#' 或 C++ 中的 '++',因此可能会与“C”语言参考混淆
我的想法是,当我索引标题和内容时,我需要根据当前标记是关键字短语的一部分还是它的任何同义词来分支标记化。
这是最好的方法吗?非常感谢提前:)
【问题讨论】:
标签: lucene lucene.net tokenize analyzer