Elasticsearch返回对象的字段

时间:2014-12-08 18:22:11

标签: java elasticsearch

我有以下json对象

{ "type_name" : 
    {
        "id" : "string"
        "timestamp" : "string"
        "item" : [{"name":"string"}, {...} ...]
    }
}

当我运行这样的查询时,

    lastResponse = client.prepareSearch("index")
            .setSearchType(SearchType.QUERY_AND_FETCH)
            .setQuery(qb)
            .setFrom(0).setSize(60).setExplain(true)
            .execute()
            .actionGet();

响应为我提供了一个与查询匹配的type_name列表。

有没有办法让elasticsearch返回单个"项目"与整个type_name相反?

1 个答案:

答案 0 :(得分:1)

使用fields。使用JSON API,如下所示:

{
    "fields" : ["id", "timestamp"],
    "query" : {
        "term" : { "id" : "1234567" }
    }
}

如果使用Java API,请使用setFields,如下所示:

GetResponse response = client.prepareGet(index, type, id)
       .setFields("title")
       .execute()
       .actionGet();

有关详细信息,请参阅此forum帖子。