解析SearchResult中的源字段

时间:2017-06-05 10:11:36

标签: elasticsearch

{
    "hits": {
        "total": 4,
        "max_score": 12.914036,
        "hits": [
            {
                "_index": "cars",
                "_type": "sports",
                "_id": "359809062-169200612195",
                "_score": 12.914036,
                "_source": {
                    "uniqueId": "35980",
                    "productName": "Tesla",
                    "Year": "2008"
                }
            },
            {
                "_index": "cars",
                "_type": "sports",
                "_id": "359809061-169200612191",
                "_score": 11.914036,
                "_source": {
                    "uniqueId": "33980",
                    "productName": "Ferrari",
                    "Year": "2015"
                }
            }
        ]
    }
}

如何解析所有_source字段?尝试返回仅包含命中中_source字段的列表。

val searchHits = searchResult.getHits(classOf[Object]).toList

searchHits.map(hit => {

        CarDetails(
          hit.source.get("uniqueId").getAsString(),
          hit.source.get("productName").getAsString(),
          hit.source.get("productName").getAsString(),

      })
    }

对于这段代码,我得到错误:value get不是Object的成员,这是预期的。

尝试在不定义模型的情况下解析结果。可能? 我是Scala的Jest Client。

上下文 CarDetails是一个案例类。基本上,我要做的是解析命中(只有_source中的项目)并将一个CarDetails对象列表返回给调用此函数的方法。

0 个答案:

没有答案