Elasticsearch Java TermVectorRequest(_termvector) [英] Elasticsearch Java TermVectorRequest (_termvector)

查看:549
本文介绍了Elasticsearch Java TermVectorRequest(_termvector)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在浏览器中执行了以下查询:

I have executed the following query in my browser:

http://127.0.0.1:9200/index/type/id/_termvector

哪些返回:

"_index" : "index",
"_type" : "type",
"_id" : "id",
"_version" : 1,
"found" : true,
"took" : 2,
"term_vectors" : {
  "text" : {
    "field_statistics" : {
      "sum_doc_freq" : 100453,
      "doc_count" : 3566,
      "sum_ttf" : 126632
    },
    "terms" : {
      "trust" : {
        "term_freq" : 1
      },
      "believe" : {
        "term_freq" : 1
      }
    }
  }
}

我尝试了Java API对应的TermVectorRequest / Response,像这样:

I tried the Java API counterpart TermVectorRequest/Response, like so:

TermVectorResponse tvr = client.prepareTermVector().setIndex(index).setType(type).setId(id).execute().actionGet();

我绝对不知道如何从API调用中检索和解析结果,或者如果函数I使用是正确的。

I have absolutely no clue how to retrieve and parse the result from the API call or if the function I use is correct.

提前谢谢:)

推荐答案

解决方案:

我终于设法将响应解析为json。

I finally managed to parse the response into json.

TermVectorResponse resp = client.prepareTermVector().setIndex(index).setType(type).setId(id).execute().actionGet();
XContentBuilder builder = XContentFactory.jsonBuilder();
builder.startObject();
resp.toXContent(builder, ToXContent.EMPTY_PARAMS);
builder.endObject();
System.out.println(builder.string());

不要忘记使用 builder.startObject() builder.endObject(),否则不会输出正确的json。

Don't forget to use the builder.startObject() and builder.endObject(), otherwise it will not output correct json.

奖金:
将json转换为 Map< String,Object> / code>使用

Bonus: To convert the json into a Map<String,Object> use

Map<String, Object> map = XContentHelper.convertToMap(builder.bytes(), false).v2();

这篇关于Elasticsearch Java TermVectorRequest(_termvector)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆