gpt4 book ai didi

java - 为什么我收到 Lucene TopDocs TotalHits 类型错误

转载 作者:行者123 更新时间:2023-11-30 05:22:00 29 4
gpt4 key购买 nike

我在运行 Lucene 官方网站上的搜索演示示例代码时遇到问题。里面有这部分代码:

TopDocs results = searcher.search(query, 5);
ScoreDoc[] hits = results.scoreDocs;
int numTotalHits = Math.toIntExact(results.totalHits);

我收到一条错误消息:

TotalHits cannot be converted to long.

如果我做对了类似的事情

int numTotalHits = results.totalHits ;

我收到同样的错误:

TotalHits cannot be converted to integer.

我使用过的进口是:

import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.index.DirectoryReader;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.queryparser.classic.QueryParser;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.ScoreDoc;
import org.apache.lucene.search.TopDocs;
import org.apache.lucene.store.FSDirectory;

我已经加载了程序所需的四个Jar文件(lucene.core、commonanalyzers、demo、queryparser)。

有什么解决办法吗?

最佳答案

在版本 8.3 totalHits不再是 long,它现在是 TotalHits目的。实际数量存储在 value 中字段,因此只需使用 results.totalHits.value 就可以了。

关于java - 为什么我收到 Lucene TopDocs TotalHits 类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59412938/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com