在Lucene中,使用标准的分析器,我想使带有空格的字段可以搜索

在Lucene中,使用标准的分析器,我想使带有空格的字段可以搜索,lucene,Lucene,在Lucene中,使用标准的分析器,我想使字段具有可搜索的空间。 我使用StandardAnalyzer设置Field.Index.NOT_analysis和Field.Store.YES 当我查看LUKE中的索引时,字段与我预期的一样,是一个字段和一个值,例如: 地点->纽约。 我发现我可以使用KeywordAnalyzer通过查询来查找此值: 地点:“纽约” 但我想在查询中添加另一个术语。假设有一个body字段,其中包含由StandardAnalyzer创建的规范化和分析的术语。对该字段使用

在Lucene中,使用标准的分析器,我想使字段具有可搜索的空间。 我使用StandardAnalyzer设置Field.Index.NOT_analysis和Field.Store.YES 当我查看LUKE中的索引时,字段与我预期的一样,是一个字段和一个值,例如: 地点->纽约。 我发现我可以使用KeywordAnalyzer通过查询来查找此值: 地点:“纽约”

但我想在查询中添加另一个术语。假设有一个body字段,其中包含由StandardAnalyzer创建的规范化和分析的术语。对该字段使用关键字分析器时,我得到的结果与使用StandardAnalyzer时不同


如何在一个QueryParser中组合两个分析器,其中一个分析器用于某些字段,另一个分析器用于另一个字段。我想创建我自己的分析器,根据字段的不同,它的行为可能会有所不同,但我不知道如何做。

允许您为不同的字段应用不同的分析器。

这是我们用于完全相同问题的解决方案。我建议创建一个公共getAnalyzer方法,供搜索者和编写者使用。