java - 通过java api更新elasticsearch中的索引时文档丢失异常

标签 java elasticsearch

我正在尝试使用接受三个参数的 UpdateRequest 通过 java api 更新索引中的值。

  • 索引
  • 文档
  • ID

问题 - 我知道我的索引名称是什么,但我不确定应该在 documentid 字段中传递什么值。

样本数据

{   
"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 对象,但它给出了文档缺失错误。也许我错过了这个概念?

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();

最佳答案

实际上,您的 UpdateRequest 接受 3 个参数

  1. 索引
  2. 类型
  3. 身份证

通过以下数据可以看出:

  1. 索引 = 票务转储
  2. 类型 = 事件
  3. Id = AVefK2vFmf0chKzzBkzy

关于java - 通过java api更新elasticsearch中的索引时文档丢失异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39965225/

相关文章:

java - 无法在浏览器上下载文件文档?

java - 为什么带有 String 编码参数的 Scanner 构造函数不会抛出 UnsupportedEncodingException?

java - Spring data Elasticsearch 按字段查找和最新日期查询

ruby-on-rails - Searchkick-2个单独列上的范围

java - 如何创建可调整大小的 MessageDialog

java - Web 服务和解码异常

java - 如何将 Android 设备连接到本地主机服务器?

elasticsearch - 在 Elasticsearch 中映射解析器异常

elasticsearch - 流利的高可用性设置和副本

spring - 使用 spring-data-elasticsearch 从索引中获取所有文档