Я использую эту страницу в качестве ссылки: https://lucene.apache.org/solr/guide/8_3/uploading-data-with-index-handlers.html#adding -multiple- json -documents
В конечном итоге я пытаюсь использовать http-клиент PECL для отправить несколько документов в Solr. У меня проблемы с этим (отдельный вопрос, который у меня здесь, на SO), поэтому я решил, что вернусь к основам. Используя страницу администрирования Solr (https://my.solr.server.org/solr/# / mycollection / documents ), я пытаюсь сделать что-то столь же простое, как подача документов, использованных в примере в руководстве по solr:
{
"add": {
"doc": {
"id": "DOC1",
"my_field": 2.3,
"my_multivalued_field": [ "aaa", "bbb" ]
}
},
"add": {
"commitWithin": 5000,
"overwrite": false,
"doc": {
"id": "DOC2",
"my_field": 2.3,
"my_multivalued_field": [ "aaa", "bbb" ]
}
}
}
Когда я сделать это, я получаю следующую ошибку:
Document is missing mandatory uniqueKey field: id
Умм, что? Это прямо в документе. Я использую ту же структуру, как описано в документации. Я также пытался использовать эту структуру (другой пример на той же странице):
[
{
"id": "1",
"title": "Doc 1"
},
{
"id": "2",
"title": "Doc 2"
}
]
Когда я это сделал, я получаю следующую ошибку:
Expected: OBJECT_START but got ARRAY_START at [2]
Теперь, если я попытаюсь добавьте всего одну команду c, используя структуру
{
"id": "DOC2",
"my_field": 2.3,
"my_multivalued_field": [ "aaa", "bbb" ]
}
, все в порядке, и она добавляется в индекс (хотя, обратите внимание, что я не использую {"add": {}}). Однако мне нужно индексировать несколько документов одновременно. Почему он жалуется на поле "id"? Что-то не так со структурой? Это то, что подробно описано в документации к Solr. Что мне не хватает?
Поля на странице администратора установлены следующим образом:
Обработчик запросов: / update
Тип документа: JSON
Документ (ы): за выше
Фиксация в течение: 1000
Перезапись: true
thnx,
Christoph