Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.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/5/date/2.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
如何使用Java高级Rest客户端API映射elasticsearch查询的结果集?_Java_Json_Rest_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Jackson Databind - Fatal编程技术网 elasticsearch,jackson-databind,Java,Json,Rest,elasticsearch,Jackson Databind" /> elasticsearch,jackson-databind,Java,Json,Rest,elasticsearch,Jackson Databind" />

如何使用Java高级Rest客户端API映射elasticsearch查询的结果集?

如何使用Java高级Rest客户端API映射elasticsearch查询的结果集?,java,json,rest,elasticsearch,jackson-databind,Java,Json,Rest,elasticsearch,Jackson Databind,我使用的是ES7.2。下面是来自ES的查询结果示例。它有两个字段“状态”和“服务ID”: {{ "took" : 4, "timed_out" : false, "_shards" : { "total" : 1, "successful" : 1, "skipped" : 0, "failed" : 0 }, "hits" : { "total" : { "value" : 106, "relation" :

我使用的是ES7.2。下面是来自ES的查询结果示例。它有两个字段“状态”和“服务ID”:

{{
  "took" : 4,
  "timed_out" : false,
  "_shards" : {
    "total" : 1,
    "successful" : 1,
    "skipped" : 0,
    "failed" : 0
  },
  "hits" : {
    "total" : {
      "value" : 106,
      "relation" : "eq"
    },
    "max_score" : 1.0,
    "hits" : [
      {
        "_index" : "myindex",
        "_type" : "_doc",
        "_id" : "ENXDrWsBF759w7WDGxK4",
        "_score" : 1.0,
        "_source" : {
          "STATUS" : "10",
          "SERVICE_ID" : "916"
        }
      },
      {
        "_index" : "myindex",
        "_type" : "_doc",
        "_id" : "EdXDrWsBF759w7WDGxK4",
        "_score" : 1.0,
        "_source" : {
          "STATUS" : "10",
          "SERVICE_ID" : "916"
        }
      }
    ]
  }
}

我想将其映射到下面的Java Bean“MyBean”:

我使用jackson库的ObjectMapper尝试了以下映射,但出现以下异常:

        try {
                    SearchResponse searchResponse1 = client.search(searchRequest, RequestOptions.DEFAULT);
            ObjectMapper mapper = new ObjectMapper();
            java.util.List<MyBean> lst = new ArrayList<MyBean>();
            for(SearchHit hit : searchResponse1.getHits().getHits()) {
//here below, i have the exception
                MyBean s = mapper.readValue(hit.getSourceAsString(), MyBean.class);
                lst.add(s);
            } 
com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "STATUS" (class MyBean), not marked as ignorable (2 known properties: "status",  "service_ID")
 at [Source: (String)"{"STATUS":"11"}"; line: 1, column: 12] (through reference chain: MyBean["STATUS"])
你知道吗?

这个怎么样

public class MyBean {
    private String status;
    private String name;
 
    @JsonProperty("SERVICE_ID")
    public void setServiceId(String serviceId) {
        this.serviceId = serviceId;
    }
 
    @JsonProperty("SERVICE_ID")
    public String getServiceId() {
        return serviceId;
    }

    @JsonProperty("STATUS")
    public void setStatus(String status) {
        this.status = status;
    }
 
    @JsonProperty("STATUS")
    public String getStatus() {
        return status;
    }
}
public class MyBean {
    private String status;
    private String name;
 
    @JsonProperty("SERVICE_ID")
    public void setServiceId(String serviceId) {
        this.serviceId = serviceId;
    }
 
    @JsonProperty("SERVICE_ID")
    public String getServiceId() {
        return serviceId;
    }

    @JsonProperty("STATUS")
    public void setStatus(String status) {
        this.status = status;
    }
 
    @JsonProperty("STATUS")
    public String getStatus() {
        return status;
    }
}