Java Lucene查询praser,仅读取特定字段查询,行为在2.9.3中更改
我需要我的查询解析器只读取文本字段。 例如,假设我的查询是: 文字:这只狐狸或标题:棕色的狗 为了突出显示,我需要解析器/搜索器只使用以下文本进行搜索:ThisFox部分。 在2.4中,这很好,但是自从升级到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));
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条件
有什么想法吗?请忽略这一点。我应用到后端的逻辑中有一个缺陷。谢谢你的关注