Java Lucene查询praser,仅读取特定字段查询,行为在2.9.3中更改

Java Lucene查询praser,仅读取特定字段查询,行为在2.9.3中更改,java,lucene,Java,Lucene,我需要我的查询解析器只读取文本字段。 例如,假设我的查询是: 文字:这只狐狸或标题:棕色的狗 为了突出显示,我需要解析器/搜索器只使用以下文本进行搜索:ThisFox部分。 在2.4中,这很好,但是自从升级到2.9.3之后,有些事情发生了变化 示例代码: IndexSearcher is = new IndexSearcher(fsDir); QueryParser qp = new QueryParser("text", new StandardAnalyzer(nostop));

我需要我的查询解析器只读取文本字段。 例如,假设我的查询是: 文字:这只狐狸或标题:棕色的狗 为了突出显示,我需要解析器/搜索器只使用以下文本进行搜索:ThisFox部分。 在2.4中,这很好,但是自从升级到2.9.3之后,有些事情发生了变化

示例代码:

IndexSearcher is = new IndexSearcher(fsDir);
    QueryParser qp = new QueryParser("text", new StandardAnalyzer(nostop));
  qp.setMultiTermRewriteMethod(MultiTermQuery.SCORING_BOOLEAN_QUERY_REWRITE);
Query queryDiv;
    try {
      query = is.rewrite(queryParser.parse(query_str)); 
    }

    catch (ParseException e) {
      pw.print("error: Incorrect query format");
      pw.close();
      return; 
    }
Hits hits = is.search(queryDiv, sort);

    QueryScorer scorer = new QueryScorer(query, "text");
出于某种原因,我不知道,lucene 2.9.3现在在2.4中没有显示结果,因为它忽略了文档中没有的字段,更不用说其中存在OR条件


有什么想法吗?

请忽略这一点。我应用到后端的逻辑中有一个缺陷。谢谢你的关注