想象一下,所有文档都包含以下字段:
Field("Id", Field.Store.YES, Field.Index.NOT_ANALYZED, Field.TermVector.NO));
Field("From", Field.Store.YES, Field.Index.NOT_ANALYZED, Field.TermVector.NO));
Field("To", Field.Store.YES, Field.Index.NOT_ANALYZED, Field.TermVector.NO));
Field("Source", Field.Store.YES, Field.Index.NOT_ANALYZED, Field.TermVector.NO));
Field("Target", Field.Store.YES, Field.Index.ANALYZED, Field.TermVector.YES));
我的要求之一是,如果来自,到和来源完全相同(不区分大小写),则重复使用这些文档。
但是,他们没有进行分析(例如,使用StandardAnalyzer,它会在编制索引之前降低条款)。
Field
名称值如何,我也可以做一个案例
不敏感的搜索"来自","来自"," FROM" ?概述: 我想执行不区分大小写的搜索。
示例:"来自:某事","来自:Something"," FROM:SOMething"," from:SOMETHING" - >检索相同的结果集。
答案 0 :(得分:1)
1 - 否。在索引之前,您始终可以自己小写字段,或者使用由KeywordTokenizer和LowerCaseFilter组成的分析器对字段进行分析。你在Lucene中的索引是一个非常GIGO的操作。如果您分析和索引字段的方式无法满足您的搜索需求,那么您将度过一段艰难的时光。
2 - 再一次,不(不管我是否意识到)。您需要在代码中处理此问题。如果你只是总是使用小写字段名称,那么它应该很容易规范化它。