我正在尝试在我的 Android 应用程序上使用 Google Search API,并且已在索引中添加了文档。
现在我正在通过 ID 检索文档,我只想更新一些字段,而不是全部。
我试图做但没有成功:
// Fetch a single document by its doc_id
Document doc = index.get(myDocID);
LOG.warning("FOUND DOC " + doc.toString());
doc.newBuilder()
.addField(Field.newBuilder()
.setName("field1")
.setNumber(valueForField1))
.addField(Field.newBuilder()
.setName("field2")
.setNumber(valueForField2))
.addField(Field.newBuilder()
.setName("field3")
.setDate(valueForField3))
.build();
LOG.warning("NEW DOC " + doc.toString());
try {
index.put(doc);
LOG.warning("PUT OK");
} catch (PutException e) {
if (StatusCode.TRANSIENT_ERROR.equals(e.getOperationResult().getCode())) {
// retry putting the document
}
LOG.warning("ERROR");
}
在上面的代码中,我试图只更新文档的 3 个字段。
我在文档中找到的唯一信息是,如果我想重新索引一个文档,我必须保存一个具有相同 ID 的新文档,它将被重新索引。
我必须填写所有字段还是有办法只更新某些字段?
我很感激任何答案