我的搜索器如下。当我点击搜索API时,在Searcher中,当我尝试获取文档字段时,我得到的是空值。我能够获得ID,相关性和来源,但无法获得字段。为什么会这样?我做错了什么吗?请帮忙。
@Override
public Result search(Query query, Execution execution) {
// pass it down the chain to get a result
Result result = execution.search(query);
String title = result.hits().get(0).getField("title");
System.out.println(title);
// return the result up the chain
return result;
}
我在标题中得到了 null 值。
答案 0 :(得分:2)
这是因为最初显示结果时未添加字段数据(出于性能考虑)。
添加
execution.fill(result);
在访问字段之前(如果有多个,请发送摘要类以填充为第二个参数)。
答案 1 :(得分:1)
在访问字段之前,使用execution.fill(result)填充结果。另请参见https://docs.vespa.ai/documentation/reference/inspecting-structured-data.html