论坛首页 Java企业应用论坛

lucene3.5 批量提交文档建立索引,无法实现短语跨度查询

浏览 8249 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2012-11-02  


解决办法: 上述问题是因为 在query语句中 存在相同的 term。 在合并倒排序表单 时候, 计算phrase frequency 时候,引发的问题。

当slop == 0时候。使用 ExactPhraseScorer.class 这个类能 正确的计算phrase frequency值,从而能查询。
当solp 不为0 的时候, 使用 SloppyPhraseScorer.class 计算phrase frequency ,由于query语句中有相同的term,在计算 phrase的最大position 和最小position 时候不一致,引发 phrase的匹配长度超过了slop 值。从而没有将命中的文档放入收集器中。

总之, 引起这个问题的原因 与批量提交 和单条(已经测试了, 单条提交之后 ,使用 optimize ,一样无法查询。)提交无关。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics