Lucene索引

问题描述:

在我的lucene索引文档中,我有三个字段,即名,中间名和姓。因此,如果进行搜索,应该在索引中的任何字段中执行。所以,而不是维护两个单独的索引,(一个具有完整的上下文 - 三个字段的连接字符串像所有的索引和另一个字段)。我只使用后一种方法,即我只保留索引与单独的字段。因此,如果提交搜索文本,则将三个单独的术语查询组合在一起,并使用组合的布尔查询进行搜索。因此,如果搜索文本与任何字段匹配,则会获得搜索结果。现在的问题是,如果搜索文本中间有空格,名字作为第一个单词,中间名称作为最后一个单词,那么如何使用具有单独字段的索引完成此搜索。有什么办法可以做到这一点?Lucene索引

您不需要维护两个单独的索引。有四个字段一个索引:

  1. 名字
  2. 中间名
  3. 姓氏
  4. 全名(全名索引为这一领域的一部分)

让默认搜索字段为全名,如果用户想要进一步缩小搜索字段,他们也可以在第一/中/名字段上发出查询。