2

我的搜索器如下所示。当我在我的搜索器中点击搜索 API 时,当我尝试获取文档字段时,我得到了空值。我能够获得 id、relavance 和来源,但不能获得字段。为什么会这样?我做错了吗?请帮忙。

@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;
}

我在标题中得到空值。

4

2 回答 2

2

这是因为结果最初是在没有添加字段数据的情况下出现的(出于性能考虑)。

添加

execution.fill(result);

在访问字段之前(如果您有多个,请发送汇总类作为第二个参数填充)。

于 2018-10-15T11:38:31.380 回答
1

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

于 2018-10-15T11:38:56.237 回答