Можно ли индексировать документы lucene с помощью двух разных анализаторов? Как я должен поддерживать как регистрозависимый, так и регистронезависимый поиск. Так интересно, могу ли я использовать два анализатора для одного и того же документа.
writer.addDocument(doc,new StandardAnalyzer(Version.LUCENE_30));
writer.addDocument(doc,new custom_analyser);
Я планирую иметь собственный анализатор, который поддерживает все фильтры, которые выполняет стандартный анализатор, кроме фильтра нижнего регистра.
Хотя я пытаюсь найти результаты по индексам, я думаю, что мы могли бы получить дубликаты ..
Есть комментарии / идеи?
EDIT:
@ Simon
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)