在Vespa中的Searcher中从结果访问字段时获取空值

时间:2018-10-15 11:09:59

标签: vespa

我的搜索器如下。当我点击搜索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 值。

2 个答案:

答案 0 :(得分:2)

这是因为最初显示结果时未添加字段数据(出于性能考虑)。

添加

execution.fill(result);

在访问字段之前(如果有多个,请发送摘要类以填充为第二个参数)。

答案 1 :(得分:1)

在访问字段之前,使用execution.fill(result)填充结果。另请参见https://docs.vespa.ai/documentation/reference/inspecting-structured-data.html