Lucene:我想对我使用Lucene构建的索引进行搜索,但在搜索时,我想忽略大小写

Lucene:我想对我使用Lucene构建的索引进行搜索,但在搜索时,我想忽略大小写,lucene,Lucene,Lucene:我想对我使用Lucene构建的索引进行搜索,但在搜索时我想忽略搜索条件的情况,我该怎么做? 例如,我的索引(lucene)中有http或http,因此当我使用http进行搜索时,我应该返回这两个结果。应该向分析筛选器链添加小写筛选器。 使用Lucene的LowerCaseFilter,可以在索引和搜索之前将标记小写,以使搜索不区分大小写。 建议在索引和搜索过程中执行此操作。应将小写筛选器添加到分析筛选器链。 使用Lucene的LowerCaseFilter,可以在索引和搜索之前将标

Lucene:我想对我使用Lucene构建的索引进行搜索,但在搜索时我想忽略搜索条件的情况,我该怎么做?
例如,我的索引(lucene)中有http或http,因此当我使用http进行搜索时,我应该返回这两个结果。

应该向分析筛选器链添加小写筛选器。
使用Lucene的LowerCaseFilter,可以在索引和搜索之前将标记小写,以使搜索不区分大小写。

建议在索引和搜索过程中执行此操作。

应将小写筛选器添加到分析筛选器链。
使用Lucene的LowerCaseFilter,可以在索引和搜索之前将标记小写,以使搜索不区分大小写。

将建议在索引和搜索过程中执行此操作。

这取决于几件事。首先,如果您用来索引的分析器没有将文本标记为小写,那么您会发现这样做非常困难

我相信,
关键字分析器
,保留了这种情况。因此,单词“Hello”在索引中将作为一个术语保留为“Hello”,这意味着找到该单词的唯一方法是使用完全相同的大小写

然而,
StandardAnalyzer
将所有术语转换为小写。因此,“Hello”在术语列表中应该是“Hello”,但是如果您同时存储文本,而不仅仅是分析文本,那么如果您要从索引中检索它,它将保留字符串的大小写。但是,搜索“HEllo”、“HEllo”、“HEllo”将与“HEllo”相同,因为它会将所有这些转换为小写

您也不必拘泥于这些分析器,您始终可以创建自己的分析器


最后,强烈建议您在搜索索引时使用与创建索引相同的分析器。

这取决于几件事。首先,如果您用来索引的分析器没有将文本标记为小写,那么您会发现这样做非常困难

我相信,
关键字分析器
,保留了这种情况。因此,单词“Hello”在索引中将作为一个术语保留为“Hello”,这意味着找到该单词的唯一方法是使用完全相同的大小写

然而,
StandardAnalyzer
将所有术语转换为小写。因此,“Hello”在术语列表中应该是“Hello”,但是如果您同时存储文本,而不仅仅是分析文本,那么如果您要从索引中检索它,它将保留字符串的大小写。但是,搜索“HEllo”、“HEllo”、“HEllo”将与“HEllo”相同,因为它会将所有这些转换为小写

您也不必拘泥于这些分析器,您始终可以创建自己的分析器

最后,强烈建议您在搜索索引时使用与创建索引相同的分析器