gpt4 book ai didi

java - 无法从 lucene 索引读取字段内容

转载 作者:行者123 更新时间:2023-12-02 02:52:39 25 4
gpt4 key购买 nike

所以我有一个由 lucene (Java) 创建的索引。我正在尝试搜索索引,如下所示

TopDocs result = searcher.search(query, maxResults);
for (ScoreDoc scoreDoc : result.scoreDocs) {
Document doc = searcher.doc(scoreDoc.doc);
LogService.logger().warning("Title| " + doc.get("title"));
LogService.logger().warning("URL| " + doc.get("url"));

该代码打印 url 字段,但为标题字段打印 null

我的第一个猜测是字段名称可能有问题或者内容实际上为空。

但是我仔细检查了 Lucene Luke (基于GUI的检查工具)并且字段名称似乎没问题,并且内容绝对不是null

我不确定这可能是什么原因..有什么建议吗?

P.S:索引和搜索都是使用相同的lucene版本(6.2.1)执行的

最佳答案

好吧,您没有提供足够的信息来确定,但我敢打赌该字段不会被存储。例如,如果您使用 TextField,并使用 ReaderTokenStream 作为源,则该字段将不会被存储,并且会可搜索,但您将无法检索它。

您可以将 TextField 存储为:

Field titleField = new TextField("title", "The Sun Also Rises", Field.Store.YES);

关于java - 无法从 lucene 索引读取字段内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43569707/

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