первичный ключ не должен быть строкой?

#vespa

#vespa

Вопрос:

определите схему точно так же, как это:

 field id type string {
                indexing: summary | index
            }
 

затем отправьте некоторые данные

 curl --location --request POST 'http://xxxxxxx:xxx/document/v1/mt_challenge/mt_challenge/docid/1680092807002114?create=true' --header 'Content-Type: application/json' --data-raw ' {"fields": {"id": {"assign": "1680092807002114"}}}'
 

и возвращает

 {"errors":[{"description":"UNSPECIFIED Has created a composite field value the reader does not know how to handle: com.yahoo.document.datatypes.StringFieldValue This is a bug. token = START_OBJECT","id":-15}],"id":"id:mt_challenge:mt_challenge::1680092807002114","pathId":"/document/v1/mt_challenge/mt_challenge/docid/1680092807002114"}
 

Ответ №1:

POST используется для создания документа, ПОМЕЩЕННОГО в обновление. Здесь вы используете POST с использованием assign, который генерирует ошибку.

Правильный синтаксис для POST (create) :

 curl --location --request POST 'http://xxxxxxx:xxx/document/v1/mt_challenge/mt_challenge/docid/1680092807002114?create=true' --header 'Content-Type: application/json' --data-raw ' {"fields": {"id":"1680092807002114"}}'