Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在elasticsearch中插入对象数组_Javascript_Scala_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch - Fatal编程技术网 elasticsearch,Javascript,Scala,elasticsearch" /> elasticsearch,Javascript,Scala,elasticsearch" />

Javascript 如何在elasticsearch中插入对象数组

Javascript 如何在elasticsearch中插入对象数组,javascript,scala,elasticsearch,Javascript,Scala,elasticsearch,我有ElasticSearch中的文档 { "uuid" : 0, "StatusHistoryList" : [ { "ArtWorkDate" : "2015-08-25T16:29:32.011+05:00", "ArtworkStatus" : "ACTIVE" } ] } 我正在通过代码添加此字段,但在添加此数组字段时遇到问题StatusHistoryList 我是这样做的 var

我有ElasticSearch中的文档

{
    "uuid" : 0,
    "StatusHistoryList" : [
        {
            "ArtWorkDate" : "2015-08-25T16:29:32.011+05:00",
            "ArtworkStatus" : "ACTIVE"
        }
    ]
}
我正在通过代码添加此字段,但在添加此数组字段时遇到问题
StatusHistoryList
我是这样做的

var xb:XContentBuilder=XContentFactory.jsonBuilder().startObject()
                        .field("uuid",artWork.getUuid)

      xb.startArray("StatusHistoryList")
      for(h<-history)
      {
        var date=h.date.toString()
        var artworkStatus=h.artworkStatus.toString
        xb.startObject()
        xb.field("ArtWorkDate",date)
        xb.field("ArtworkStatus",artworkStatus)
        xb.endObject()
      }
      xb.endArray()
      xb.endObject()

val bulkRequest=client.prepareBulk()
bulkRequest.add(client.prepareIndex("arteciatedb","artWork",artWork.uuid.toString())
        .setSource(xb)
)
val bulkResponse =bulkRequest.execute().actionGet()
if(bulkResponse.hasFailures())
{
 log.error("something is wrong here ") 
}}

要查看您做错了什么:

var xb:XContentBuilder=XContentFactory.jsonBuilder().startObject()
                        .field("uuid",artWork.getUuid)

      xb.startArray("StatusHistoryList")
      for(h<-history)
      {
        var date=h.date.toString()
        var artworkStatus=h.artworkStatus.toString
        xb.startObject()
        xb.field("ArtWorkDate",date)
        xb.field("ArtworkStatus",artworkStatus)
        xb.endObject()
      }
      xb.endArray()
      xb.endObject()

val bulkRequest=client.prepareBulk()
bulkRequest.add(client.prepareIndex("arteciatedb","artWork",artWork.uuid.toString()).setSource(xb))
try { 
BulkResponse response=currentRequest.execute().actionGet();
 if (response.hasFailures()) {
 logger.error("failed to execute" + response.buildFailureMessage()); }
 } catch ( Exception e) { 
logger.error("Failed to process bulk",e);
 }
}
var xb:XContentBuilder=XContentFactory.jsonBuilder().startObject()
.field(“uuid”,artWork.getUuid)
xb.startArray(“状态历史列表”)

对于(hDo)您是否从
bulkResponse
获得更精确的错误消息?我认为这是一个简单的错误,您应该将var artworkStatus=h.artworkStatus.toString更改为var artworkStatus=h.artworkStatus.toString()
var xb:XContentBuilder=XContentFactory.jsonBuilder().startObject()
                        .field("uuid",artWork.getUuid)

      xb.startArray("StatusHistoryList")
      for(h<-history)
      {
        var date=h.date.toString()
        var artworkStatus=h.artworkStatus.toString
        xb.startObject()
        xb.field("ArtWorkDate",date)
        xb.field("ArtworkStatus",artworkStatus)
        xb.endObject()
      }
      xb.endArray()
      xb.endObject()

val bulkRequest=client.prepareBulk()
bulkRequest.add(client.prepareIndex("arteciatedb","artWork",artWork.uuid.toString()).setSource(xb))
try { 
BulkResponse response=currentRequest.execute().actionGet();
 if (response.hasFailures()) {
 logger.error("failed to execute" + response.buildFailureMessage()); }
 } catch ( Exception e) { 
logger.error("Failed to process bulk",e);
 }
}