在同一领域使用多个分析器--Apache Lucene

时间:2017-07-29 07:35:06

标签: java apache search solr lucene

我正在使用apache lucene 6.3.0并且我想索引我的字段' file_name'使用2台分析仪:
1. StandardAnalyzer(允许使用术语进行搜索)
2. KeywordAnalyzer(保留原始名称,以防万一用户搜索整个名称)

请注意,这可以通过搜索时间输入分析来实现,但我希望避免在我的应用的搜索前端添加这种复杂性。

1 个答案:

答案 0 :(得分:0)

你不能这样做,所以你必须要:

  • 有两个具有不同处理的字段,并使用copyField将相同的内容索引到两个字段中,但处理方式不同(这对于获得比StandardTokenizer处理的匹配更高的精确命中非常有用)< / LI>
  • 使用KeywordTokenizer together with a WordDelimiter(Graph)Filter并将preserveOriginal设置为true。

第一个允许您以不同方式区分字段的优先级,但是在查询时将要求您包括两个字段。后者将所有数据都放在一个字段中,但不会让你以不同的方式对它们进行评分。