【发布时间】:2011-06-25 17:27:32
【问题描述】:
可以用两个不同的分析器索引 lucene 文档吗?就像我需要支持区分大小写和不区分大小写的搜索。所以想知道我是否可以对同一个文档使用两个分析器。
writer.addDocument(doc,new StandardAnalyzer(Version.LUCENE_30));
writer.addDocument(doc,new custom_analyser);
我计划有一个自定义分析器,它支持标准分析器所做的所有过滤器,除了小写过滤器。 当我尝试从索引中搜索结果时,我认为我们最终可能会得到重复..
有什么意见/想法吗?
编辑: @西蒙
Analyzer defaultAnalyzer = new StandardAnalyzer(Version.LUCENE_30);
PerFieldAnalyzerWrapper wrapper = new PerFieldAnalyzerWrapper(defaultAnalyzer);
wrapper.addAnalyzer("CaseSensitiveContents", new WhitespaceAnalyzer());
writer = new IndexWriter(FSDirectory.open(index), wrapper, true,
new IndexWriter.MaxFieldLength(100))
doc.add(new Field("contents", parser.getReader(), TermVector.YES));
doc.add(new Field("CaseSensitiveContents", parser.getReader(), TermVector.YES));
writer.add(doc)
【问题讨论】:
标签: search indexing lucene full-text-search