0

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 で新しいドキュメントを保存する必要があり、再インデックス化されるということです。

すべてのフィールドに入力する必要がありますか? または、一部のフィールドだけを更新する方法はありますか?

私はどんな答えにも感謝します

4

1 に答える 1