Java源码示例:org.elasticsearch.action.termvectors.TermVectorsResponse
示例1
public static Fields[] getFieldsFor(MultiTermVectorsResponse responses) throws IOException {
List<Fields> likeFields = new ArrayList<>();
for (MultiTermVectorsItemResponse response : responses) {
if (response.isFailed()) {
continue;
}
TermVectorsResponse getResponse = response.getResponse();
if (!getResponse.isExists()) {
continue;
}
likeFields.add(getResponse.getFields());
}
return likeFields.toArray(Fields.EMPTY_ARRAY);
}
示例2
@Override
public void handleRequest(final RestRequest request, final RestChannel channel, final Client client) throws Exception {
TermVectorsRequest termVectorsRequest = new TermVectorsRequest(request.param("index"), request.param("type"), request.param("id"));
if (RestActions.hasBodyContent(request)) {
try (XContentParser parser = XContentFactory.xContent(RestActions.guessBodyContentType(request)).createParser(RestActions.getRestContent(request))){
TermVectorsRequest.parseRequest(termVectorsRequest, parser);
}
}
readURIParameters(termVectorsRequest, request);
client.termVectors(termVectorsRequest, new RestToXContentListener<TermVectorsResponse>(channel));
}
示例3
private Map<Integer,String> getTermVectorWithException(String field, String id) throws IOException {
TermVectorsResponse response = client.prepareTermVector(indexName, documentType, id)
.setOffsets(false).setPositions(true).setFieldStatistics(false)
.setTermStatistics(false)
.setSelectedFields(field).
execute().actionGet();
Map<Integer,String> map = new HashMap<>();
Terms terms = response.getFields().terms(field);
if (terms==null){
return map;
}
TermsEnum iterator = terms.iterator();
PostingsEnum postings = null;
for (BytesRef termBytes = null; (termBytes = iterator.next()) != null; ) {
String term = termBytes.utf8ToString();
postings = iterator.postings(postings, PostingsEnum.ALL);
//there can only be one doc since we are getting with id. get the doc and the position
postings.nextDoc();
int tf = postings.freq();
for (int i = 0; i < tf; i++) {
int pos = postings.nextPosition();
map.put(pos,term);
}
}
return map;
}
示例4
@Override
public ActionFuture<TermVectorsResponse> termVectors(TermVectorsRequest request) {
return wrapped.termVectors(request);
}
示例5
@Override
public void termVectors(TermVectorsRequest request, ActionListener<TermVectorsResponse> listener) {
wrapped.termVectors(request, listener);
}
示例6
@Override
@Deprecated
public ActionFuture<TermVectorsResponse> termVector(TermVectorsRequest request) {
return wrapped.termVector(request);
}
示例7
@Override
@Deprecated
public void termVector(TermVectorsRequest request, ActionListener<TermVectorsResponse> listener) {
wrapped.termVector(request, listener);
}
示例8
@Override
public ActionFuture<TermVectorsResponse> termVectors(final TermVectorsRequest request) {
return client.termVectors(request);
}
示例9
@Override
public void termVectors(final TermVectorsRequest request, final ActionListener<TermVectorsResponse> listener) {
client.termVectors(request, listener);
}