在某个地方搜索Apache Lucene(4.2.0)文档

时间:2018-05-15 11:53:37

标签: apache lucene

我在lucene中有多个文档,其格式为

  

实体:Dalveer Singh
  子类型:学生
  ....等等

我想在一个实体(比如实体)中搜索有价值。如果我搜索:dalveer*(值的开头)它会返回一些结果,但是当我搜索中间的某些内容时{} {1}}或*singh

有没有办法在整行搜索匹配结果?

1 个答案:

答案 0 :(得分:0)

这是您必须调整的QueryParser配置。 通常,您可以选择允许QueryParser使用前导通配符。作为示例StandardQueryParser使用方法:

setAllowLeadingWildcard(true)

它还取决于您使用哪种字段进行索引,因为这会影响分析过程。

  • TextField用于全文搜索 - >文字不会被标记化
  • StringField - >文本将被标记化

有关详情,请参阅Field JavaDoc