Elasticsearch Java TermVectorRequest(_termvector) [英] 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屋!