документируйте отсутствие исключения при обновлении индекса в elasticsearch через java api

#java #elasticsearch

#java #elasticsearch

Вопрос:

Я пытаюсь обновить значение в моем индексе через java api, используя UpdateRequest который принимает три аргумента.

  • Указатель
  • документ
  • ID

Вопрос — я знаю, каково мое имя индекса, но я не уверен, какое значение следует передавать в поле document и id.

ПРИМЕР ДАННЫХ

 {   
"took": 2,  
 "timed_out": false,   "_shards": {      "total": 5,      "successful": 5,      "failed": 0   },
   "hits": {
      "total": 1,
      "max_score": 0.94064164,
      "hits": [
         {
            "_index": "ticketdump",
            "_type": "event",
            "_id": "AVefK2vFmf0chKzzBkzy",
            "_score": 0.94064164,
            "_source": {
               "clientversion": "123465",
               "queue": "test,test",
               "vertical": "test",
               "troubleshooting": "test",
               "reason": "test",
               "status": "test",
               "ticketversion": "1132465",
               "apuid": 1,
               "golive": "2014-07-14",
               "clientname": "test",
               "message": "test",
               "product": "test",
               "clientid": 1,
               "createddatetime": "2016-05-03 09:43:48",
               "area": "test",
               "developmentfix": "test",
               "actiontaken": "test",
               "categoryname": "test",
               "parentcategory": "test",
               "problemdef": "test",
               "ticketid": 1
            }
         }
      ]
   }
}
  

Я попытался передать _source объект, но он выдал ошибку document missing.Может быть, я упускаю концепцию?

КОД JAVA

 UpdateRequest updateRequest = new UpdateRequest(
  "ticketdump",
  js.getJSONObject("hits")
    .getJSONArray("hits")
    .getJSONObject(0)
    .getJSONObject("_source")
    .toString(),
  "1"
).script(new Script("ctx._source.message = "bhavik""));
client.update(updateRequest).get();
  

Ответ №1:

На самом деле, ваш UpdateRequest принимает 3 параметра

  1. Указатель
  2. Тип
  3. ID

По следующим данным вы можете видеть, что:

  1. Index = ticketdump
  2. Тип = событие
  3. Id = AVefK2vFmf0chKzzBkzy

Комментарии:

1. это сработало. Спасибо за вашу помощь и разъяснения.

2. после этого ответа что-то изменилось в запросе JSON? Возможно, у меня похожая проблема, но я не понимаю, в чем проблема. Небольшая помощь будет оценена. Спасибо!