我需要我的查询解析器才能读取“文本”字段 例如,假设我的查询是: 文字:“这只狐狸”或者标题:“棕色的狗” 为了突出显示的目的,我需要解析器/搜索器只使用文本搜索:“this fox”部分。 在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条件。
任何想法?
答案 0 :(得分:0)
请忽略这一点。我的逻辑中存在一个缺陷,即我正在应用于后端。谢谢你的期待