解决方案 »

  1.   

    你可以试着吧 你所index的term 给打印出来,看看都是什么。
    不过很有可能的是,lucene 的对每个文档的score 方式。
    query 应该不是绝对的AND, 因为你找的“国内山水”在文档“国内” 里也含有。
    所有这个文档其实也是有score的 只不过没有 “故宫,国内山水” 高。
    返回top k的话,那文档“国内” 也会返回。
      

  2.   

    如果想用绝对的AND,可以把遍历所有terms, 然后把想要的term也就是关键词给找出来。
    拿到这个term的 DocsAndPositionsEnum,然后自己实现一个简单的AND算法。
      

  3.   

    如果显示 ‘国内山水’的数据,该怎么查询呀?index的term 怎么打印呀