0

I'm trying to get a list of Terms from a termvectorresponse in an elasticsearch plugin. I want to get access to all of the statistics which are tied to the terms and am having trouble figuring out how to do that.

After making a TermVectorsRequest...

TermVectorsRequest tvReq = new TermVectorsRequest(request.param("index"), request.param("type"), request.param("id"));
tvReq.termStatistics(true);
tvReq.selectedFields(request.param("field"));

and getting a response from the client...

TermVectorsResponse tvResponse = client.termVectors(tvReq).get();

I can get access to the id, index, etc. In the fields I get "contents" which is the field name that I want. From there though it looks like I can run...

tvResponse.getFields().terms("some term here")

in which the Terms object this returns has access to the stats I want.

I have a few issues with this though. One is that only "contents" seems to be non null. In the termvectors endpoint in elastic I get several different terms of which I've tried plugging into here. Two, is I want to get a list of terms rather than having to type in which term I want.

How can I go about doing this?

Thanks

Exuro
  • 229
  • 3
  • 15

1 Answers1

0

Figured it out. Theres an interator on terms you can use. on .terms you have to pass it the field and you'll get the Terms object back. From that you can use the .iterator to get each individual term and do whatever you want with them.

Exuro
  • 229
  • 3
  • 15