Term Vectors: requests are now timed
When asking for term statistics, generating term vectors on the fly or with `dfs` set to `true`, some requests may take a while, so it is useful to know exactly how long. Closes #9583
This commit is contained in:
parent
9f4c56a7b8
commit
455a85dc3b
|
@ -77,6 +77,8 @@ public class TermVectorsRequest extends SingleShardOperationRequest<TermVectorsR
|
||||||
private EnumSet<Flag> flagsEnum = EnumSet.of(Flag.Positions, Flag.Offsets, Flag.Payloads,
|
private EnumSet<Flag> flagsEnum = EnumSet.of(Flag.Positions, Flag.Offsets, Flag.Payloads,
|
||||||
Flag.FieldStatistics);
|
Flag.FieldStatistics);
|
||||||
|
|
||||||
|
long startTime;
|
||||||
|
|
||||||
public TermVectorsRequest() {
|
public TermVectorsRequest() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -100,13 +102,22 @@ public class TermVectorsRequest extends SingleShardOperationRequest<TermVectorsR
|
||||||
super(other.index());
|
super(other.index());
|
||||||
this.id = other.id();
|
this.id = other.id();
|
||||||
this.type = other.type();
|
this.type = other.type();
|
||||||
|
if (this.doc != null) {
|
||||||
|
this.doc = other.doc().copyBytesArray();
|
||||||
|
}
|
||||||
this.flagsEnum = other.getFlags().clone();
|
this.flagsEnum = other.getFlags().clone();
|
||||||
this.preference = other.preference();
|
this.preference = other.preference();
|
||||||
this.routing = other.routing();
|
this.routing = other.routing();
|
||||||
if (other.selectedFields != null) {
|
if (other.selectedFields != null) {
|
||||||
this.selectedFields = new HashSet<>(other.selectedFields);
|
this.selectedFields = new HashSet<>(other.selectedFields);
|
||||||
}
|
}
|
||||||
|
if (other.perFieldAnalyzer != null) {
|
||||||
|
this.perFieldAnalyzer = new HashMap<>(other.perFieldAnalyzer);
|
||||||
|
}
|
||||||
this.realtime = other.realtime();
|
this.realtime = other.realtime();
|
||||||
|
this.version = other.version();
|
||||||
|
this.versionType = VersionType.fromValue(other.versionType().getValue());
|
||||||
|
this.startTime = other.startTime();
|
||||||
}
|
}
|
||||||
|
|
||||||
public TermVectorsRequest(MultiGetRequest.Item item) {
|
public TermVectorsRequest(MultiGetRequest.Item item) {
|
||||||
|
@ -387,6 +398,10 @@ public class TermVectorsRequest extends SingleShardOperationRequest<TermVectorsR
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public long startTime() {
|
||||||
|
return this.startTime;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ActionRequestValidationException validate() {
|
public ActionRequestValidationException validate() {
|
||||||
ActionRequestValidationException validationException = super.validate();
|
ActionRequestValidationException validationException = super.validate();
|
||||||
|
|
|
@ -36,6 +36,7 @@ import org.elasticsearch.common.bytes.BytesReference;
|
||||||
import org.elasticsearch.common.io.stream.BytesStreamOutput;
|
import org.elasticsearch.common.io.stream.BytesStreamOutput;
|
||||||
import org.elasticsearch.common.io.stream.StreamInput;
|
import org.elasticsearch.common.io.stream.StreamInput;
|
||||||
import org.elasticsearch.common.io.stream.StreamOutput;
|
import org.elasticsearch.common.io.stream.StreamOutput;
|
||||||
|
import org.elasticsearch.common.unit.TimeValue;
|
||||||
import org.elasticsearch.common.xcontent.ToXContent;
|
import org.elasticsearch.common.xcontent.ToXContent;
|
||||||
import org.elasticsearch.common.xcontent.XContentBuilder;
|
import org.elasticsearch.common.xcontent.XContentBuilder;
|
||||||
import org.elasticsearch.common.xcontent.XContentBuilderString;
|
import org.elasticsearch.common.xcontent.XContentBuilderString;
|
||||||
|
@ -70,9 +71,9 @@ public class TermVectorsResponse extends ActionResponse implements ToXContent {
|
||||||
public static final XContentBuilderString _ID = new XContentBuilderString("_id");
|
public static final XContentBuilderString _ID = new XContentBuilderString("_id");
|
||||||
public static final XContentBuilderString _VERSION = new XContentBuilderString("_version");
|
public static final XContentBuilderString _VERSION = new XContentBuilderString("_version");
|
||||||
public static final XContentBuilderString FOUND = new XContentBuilderString("found");
|
public static final XContentBuilderString FOUND = new XContentBuilderString("found");
|
||||||
|
public static final XContentBuilderString TOOK = new XContentBuilderString("took");
|
||||||
public static final XContentBuilderString TERMS = new XContentBuilderString("terms");
|
public static final XContentBuilderString TERMS = new XContentBuilderString("terms");
|
||||||
public static final XContentBuilderString TERM_VECTORS = new XContentBuilderString("term_vectors");
|
public static final XContentBuilderString TERM_VECTORS = new XContentBuilderString("term_vectors");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private BytesReference termVectors;
|
private BytesReference termVectors;
|
||||||
|
@ -83,6 +84,7 @@ public class TermVectorsResponse extends ActionResponse implements ToXContent {
|
||||||
private long docVersion;
|
private long docVersion;
|
||||||
private boolean exists = false;
|
private boolean exists = false;
|
||||||
private boolean artificial = false;
|
private boolean artificial = false;
|
||||||
|
private long tookInMillis;
|
||||||
|
|
||||||
private boolean sourceCopied = false;
|
private boolean sourceCopied = false;
|
||||||
|
|
||||||
|
@ -108,6 +110,8 @@ public class TermVectorsResponse extends ActionResponse implements ToXContent {
|
||||||
out.writeVLong(docVersion);
|
out.writeVLong(docVersion);
|
||||||
final boolean docExists = isExists();
|
final boolean docExists = isExists();
|
||||||
out.writeBoolean(docExists);
|
out.writeBoolean(docExists);
|
||||||
|
out.writeBoolean(artificial);
|
||||||
|
out.writeVLong(tookInMillis);
|
||||||
out.writeBoolean(hasTermVectors());
|
out.writeBoolean(hasTermVectors());
|
||||||
if (hasTermVectors()) {
|
if (hasTermVectors()) {
|
||||||
out.writeBytesReference(headerRef);
|
out.writeBytesReference(headerRef);
|
||||||
|
@ -127,6 +131,8 @@ public class TermVectorsResponse extends ActionResponse implements ToXContent {
|
||||||
id = in.readString();
|
id = in.readString();
|
||||||
docVersion = in.readVLong();
|
docVersion = in.readVLong();
|
||||||
exists = in.readBoolean();
|
exists = in.readBoolean();
|
||||||
|
artificial = in.readBoolean();
|
||||||
|
tookInMillis = in.readVLong();
|
||||||
if (in.readBoolean()) {
|
if (in.readBoolean()) {
|
||||||
headerRef = in.readBytesReference();
|
headerRef = in.readBytesReference();
|
||||||
termVectors = in.readBytesReference();
|
termVectors = in.readBytesReference();
|
||||||
|
@ -172,6 +178,7 @@ public class TermVectorsResponse extends ActionResponse implements ToXContent {
|
||||||
}
|
}
|
||||||
builder.field(FieldStrings._VERSION, docVersion);
|
builder.field(FieldStrings._VERSION, docVersion);
|
||||||
builder.field(FieldStrings.FOUND, isExists());
|
builder.field(FieldStrings.FOUND, isExists());
|
||||||
|
builder.field(FieldStrings.TOOK, tookInMillis);
|
||||||
if (!isExists()) {
|
if (!isExists()) {
|
||||||
return builder;
|
return builder;
|
||||||
}
|
}
|
||||||
|
@ -313,6 +320,18 @@ public class TermVectorsResponse extends ActionResponse implements ToXContent {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void updateTookInMillis(long startTime) {
|
||||||
|
this.tookInMillis = Math.max(1, System.currentTimeMillis() - startTime);
|
||||||
|
}
|
||||||
|
|
||||||
|
public TimeValue getTook() {
|
||||||
|
return new TimeValue(tookInMillis);
|
||||||
|
}
|
||||||
|
|
||||||
|
public long getTookInMillis() {
|
||||||
|
return tookInMillis;
|
||||||
|
}
|
||||||
|
|
||||||
public boolean isExists() {
|
public boolean isExists() {
|
||||||
return exists;
|
return exists;
|
||||||
}
|
}
|
||||||
|
@ -331,7 +350,6 @@ public class TermVectorsResponse extends ActionResponse implements ToXContent {
|
||||||
if (termVectorsByField != null) {
|
if (termVectorsByField != null) {
|
||||||
tvw.setFields(termVectorsByField, selectedFields, flags, topLevelFields, dfs);
|
tvw.setFields(termVectorsByField, selectedFields, flags, topLevelFields, dfs);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setTermVectorsField(BytesStreamOutput output) {
|
public void setTermVectorsField(BytesStreamOutput output) {
|
||||||
|
|
|
@ -62,6 +62,7 @@ public class TransportMultiTermVectorsAction extends HandledTransportAction<Mult
|
||||||
Map<ShardId, MultiTermVectorsShardRequest> shardRequests = new HashMap<>();
|
Map<ShardId, MultiTermVectorsShardRequest> shardRequests = new HashMap<>();
|
||||||
for (int i = 0; i < request.requests.size(); i++) {
|
for (int i = 0; i < request.requests.size(); i++) {
|
||||||
TermVectorsRequest termVectorsRequest = request.requests.get(i);
|
TermVectorsRequest termVectorsRequest = request.requests.get(i);
|
||||||
|
termVectorsRequest.startTime = System.currentTimeMillis();
|
||||||
termVectorsRequest.routing(clusterState.metaData().resolveIndexRouting(termVectorsRequest.routing(), termVectorsRequest.index()));
|
termVectorsRequest.routing(clusterState.metaData().resolveIndexRouting(termVectorsRequest.routing(), termVectorsRequest.index()));
|
||||||
if (!clusterState.metaData().hasConcreteIndex(termVectorsRequest.index())) {
|
if (!clusterState.metaData().hasConcreteIndex(termVectorsRequest.index())) {
|
||||||
responses.set(i, new MultiTermVectorsItemResponse(null, new MultiTermVectorsResponse.Failure(termVectorsRequest.index(),
|
responses.set(i, new MultiTermVectorsItemResponse(null, new MultiTermVectorsResponse.Failure(termVectorsRequest.index(),
|
||||||
|
@ -80,7 +81,6 @@ public class TransportMultiTermVectorsAction extends HandledTransportAction<Mult
|
||||||
if (shardRequest == null) {
|
if (shardRequest == null) {
|
||||||
shardRequest = new MultiTermVectorsShardRequest(request, shardId.index().name(), shardId.id());
|
shardRequest = new MultiTermVectorsShardRequest(request, shardId.index().name(), shardId.id());
|
||||||
shardRequest.preference(request.preference);
|
shardRequest.preference(request.preference);
|
||||||
|
|
||||||
shardRequests.put(shardId, shardRequest);
|
shardRequests.put(shardId, shardRequest);
|
||||||
}
|
}
|
||||||
shardRequest.add(i, termVectorsRequest);
|
shardRequest.add(i, termVectorsRequest);
|
||||||
|
|
|
@ -30,8 +30,8 @@ import org.elasticsearch.cluster.routing.ShardIterator;
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.IndexService;
|
import org.elasticsearch.index.IndexService;
|
||||||
import org.elasticsearch.index.shard.ShardId;
|
|
||||||
import org.elasticsearch.index.shard.IndexShard;
|
import org.elasticsearch.index.shard.IndexShard;
|
||||||
|
import org.elasticsearch.index.shard.ShardId;
|
||||||
import org.elasticsearch.indices.IndicesService;
|
import org.elasticsearch.indices.IndicesService;
|
||||||
import org.elasticsearch.threadpool.ThreadPool;
|
import org.elasticsearch.threadpool.ThreadPool;
|
||||||
import org.elasticsearch.transport.TransportService;
|
import org.elasticsearch.transport.TransportService;
|
||||||
|
@ -89,6 +89,7 @@ public class TransportShardMultiTermsVectorAction extends TransportShardSingleOp
|
||||||
IndexService indexService = indicesService.indexServiceSafe(request.index());
|
IndexService indexService = indicesService.indexServiceSafe(request.index());
|
||||||
IndexShard indexShard = indexService.shardSafe(shardId.id());
|
IndexShard indexShard = indexService.shardSafe(shardId.id());
|
||||||
TermVectorsResponse termVectorsResponse = indexShard.termVectorsService().getTermVectors(termVectorsRequest, shardId.getIndex());
|
TermVectorsResponse termVectorsResponse = indexShard.termVectorsService().getTermVectors(termVectorsRequest, shardId.getIndex());
|
||||||
|
termVectorsResponse.updateTookInMillis(termVectorsRequest.startTime());
|
||||||
response.add(request.locations.get(i), termVectorsResponse);
|
response.add(request.locations.get(i), termVectorsResponse);
|
||||||
} catch (Throwable t) {
|
} catch (Throwable t) {
|
||||||
if (TransportActions.isShardNotAvailableException(t)) {
|
if (TransportActions.isShardNotAvailableException(t)) {
|
||||||
|
|
|
@ -20,6 +20,7 @@
|
||||||
package org.elasticsearch.action.termvectors;
|
package org.elasticsearch.action.termvectors;
|
||||||
|
|
||||||
import org.elasticsearch.ElasticsearchException;
|
import org.elasticsearch.ElasticsearchException;
|
||||||
|
import org.elasticsearch.action.ActionListener;
|
||||||
import org.elasticsearch.action.RoutingMissingException;
|
import org.elasticsearch.action.RoutingMissingException;
|
||||||
import org.elasticsearch.action.support.ActionFilters;
|
import org.elasticsearch.action.support.ActionFilters;
|
||||||
import org.elasticsearch.action.support.single.shard.TransportShardSingleOperationAction;
|
import org.elasticsearch.action.support.single.shard.TransportShardSingleOperationAction;
|
||||||
|
@ -42,6 +43,12 @@ public class TransportTermVectorsAction extends TransportShardSingleOperationAct
|
||||||
|
|
||||||
private final IndicesService indicesService;
|
private final IndicesService indicesService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void doExecute(TermVectorsRequest request, ActionListener<TermVectorsResponse> listener) {
|
||||||
|
request.startTime = System.currentTimeMillis();
|
||||||
|
super.doExecute(request, listener);
|
||||||
|
}
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public TransportTermVectorsAction(Settings settings, ClusterService clusterService, TransportService transportService,
|
public TransportTermVectorsAction(Settings settings, ClusterService clusterService, TransportService transportService,
|
||||||
IndicesService indicesService, ThreadPool threadPool, ActionFilters actionFilters) {
|
IndicesService indicesService, ThreadPool threadPool, ActionFilters actionFilters) {
|
||||||
|
@ -80,7 +87,9 @@ public class TransportTermVectorsAction extends TransportShardSingleOperationAct
|
||||||
protected TermVectorsResponse shardOperation(TermVectorsRequest request, ShardId shardId) throws ElasticsearchException {
|
protected TermVectorsResponse shardOperation(TermVectorsRequest request, ShardId shardId) throws ElasticsearchException {
|
||||||
IndexService indexService = indicesService.indexServiceSafe(shardId.getIndex());
|
IndexService indexService = indicesService.indexServiceSafe(shardId.getIndex());
|
||||||
IndexShard indexShard = indexService.shardSafe(shardId.id());
|
IndexShard indexShard = indexService.shardSafe(shardId.id());
|
||||||
return indexShard.termVectorsService().getTermVectors(request, shardId.getIndex());
|
TermVectorsResponse response = indexShard.termVectorsService().getTermVectors(request, shardId.getIndex());
|
||||||
|
response.updateTookInMillis(request.startTime());
|
||||||
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -146,7 +146,7 @@ public class GetTermVectorsCheckDocFreqTests extends ElasticsearchIntegrationTes
|
||||||
response.toXContent(xBuilder, null);
|
response.toXContent(xBuilder, null);
|
||||||
xBuilder.endObject();
|
xBuilder.endObject();
|
||||||
BytesStream bytesStream = xBuilder.bytesStream();
|
BytesStream bytesStream = xBuilder.bytesStream();
|
||||||
String utf8 = bytesStream.bytes().toUtf8();
|
String utf8 = bytesStream.bytes().toUtf8().replaceFirst("\"took\":\\d+,", "");;
|
||||||
String expectedString = "{\"_index\":\"test\",\"_type\":\"type1\",\"_id\":\""
|
String expectedString = "{\"_index\":\"test\",\"_type\":\"type1\",\"_id\":\""
|
||||||
+ i
|
+ i
|
||||||
+ "\",\"_version\":1,\"found\":true,\"term_vectors\":{\"field\":{\"terms\":{\"brown\":{\"doc_freq\":15,\"ttf\":15,\"term_freq\":1,\"tokens\":[{\"position\":2,\"start_offset\":10,\"end_offset\":15,\"payload\":\"d29yZA==\"}]},\"dog\":{\"doc_freq\":15,\"ttf\":15,\"term_freq\":1,\"tokens\":[{\"position\":8,\"start_offset\":40,\"end_offset\":43,\"payload\":\"d29yZA==\"}]},\"fox\":{\"doc_freq\":15,\"ttf\":15,\"term_freq\":1,\"tokens\":[{\"position\":3,\"start_offset\":16,\"end_offset\":19,\"payload\":\"d29yZA==\"}]},\"jumps\":{\"doc_freq\":15,\"ttf\":15,\"term_freq\":1,\"tokens\":[{\"position\":4,\"start_offset\":20,\"end_offset\":25,\"payload\":\"d29yZA==\"}]},\"lazy\":{\"doc_freq\":15,\"ttf\":15,\"term_freq\":1,\"tokens\":[{\"position\":7,\"start_offset\":35,\"end_offset\":39,\"payload\":\"d29yZA==\"}]},\"over\":{\"doc_freq\":15,\"ttf\":15,\"term_freq\":1,\"tokens\":[{\"position\":5,\"start_offset\":26,\"end_offset\":30,\"payload\":\"d29yZA==\"}]},\"quick\":{\"doc_freq\":15,\"ttf\":15,\"term_freq\":1,\"tokens\":[{\"position\":1,\"start_offset\":4,\"end_offset\":9,\"payload\":\"d29yZA==\"}]},\"the\":{\"doc_freq\":15,\"ttf\":30,\"term_freq\":2,\"tokens\":[{\"position\":0,\"start_offset\":0,\"end_offset\":3,\"payload\":\"d29yZA==\"},{\"position\":6,\"start_offset\":31,\"end_offset\":34,\"payload\":\"d29yZA==\"}]}}}}}";
|
+ "\",\"_version\":1,\"found\":true,\"term_vectors\":{\"field\":{\"terms\":{\"brown\":{\"doc_freq\":15,\"ttf\":15,\"term_freq\":1,\"tokens\":[{\"position\":2,\"start_offset\":10,\"end_offset\":15,\"payload\":\"d29yZA==\"}]},\"dog\":{\"doc_freq\":15,\"ttf\":15,\"term_freq\":1,\"tokens\":[{\"position\":8,\"start_offset\":40,\"end_offset\":43,\"payload\":\"d29yZA==\"}]},\"fox\":{\"doc_freq\":15,\"ttf\":15,\"term_freq\":1,\"tokens\":[{\"position\":3,\"start_offset\":16,\"end_offset\":19,\"payload\":\"d29yZA==\"}]},\"jumps\":{\"doc_freq\":15,\"ttf\":15,\"term_freq\":1,\"tokens\":[{\"position\":4,\"start_offset\":20,\"end_offset\":25,\"payload\":\"d29yZA==\"}]},\"lazy\":{\"doc_freq\":15,\"ttf\":15,\"term_freq\":1,\"tokens\":[{\"position\":7,\"start_offset\":35,\"end_offset\":39,\"payload\":\"d29yZA==\"}]},\"over\":{\"doc_freq\":15,\"ttf\":15,\"term_freq\":1,\"tokens\":[{\"position\":5,\"start_offset\":26,\"end_offset\":30,\"payload\":\"d29yZA==\"}]},\"quick\":{\"doc_freq\":15,\"ttf\":15,\"term_freq\":1,\"tokens\":[{\"position\":1,\"start_offset\":4,\"end_offset\":9,\"payload\":\"d29yZA==\"}]},\"the\":{\"doc_freq\":15,\"ttf\":30,\"term_freq\":2,\"tokens\":[{\"position\":0,\"start_offset\":0,\"end_offset\":3,\"payload\":\"d29yZA==\"},{\"position\":6,\"start_offset\":31,\"end_offset\":34,\"payload\":\"d29yZA==\"}]}}}}}";
|
||||||
|
@ -203,7 +203,7 @@ public class GetTermVectorsCheckDocFreqTests extends ElasticsearchIntegrationTes
|
||||||
response.toXContent(xBuilder, null);
|
response.toXContent(xBuilder, null);
|
||||||
xBuilder.endObject();
|
xBuilder.endObject();
|
||||||
BytesStream bytesStream = xBuilder.bytesStream();
|
BytesStream bytesStream = xBuilder.bytesStream();
|
||||||
String utf8 = bytesStream.bytes().toUtf8();
|
String utf8 = bytesStream.bytes().toUtf8().replaceFirst("\"took\":\\d+,", "");;
|
||||||
String expectedString = "{\"_index\":\"test\",\"_type\":\"type1\",\"_id\":\""
|
String expectedString = "{\"_index\":\"test\",\"_type\":\"type1\",\"_id\":\""
|
||||||
+ i
|
+ i
|
||||||
+ "\",\"_version\":1,\"found\":true,\"term_vectors\":{\"field\":{\"field_statistics\":{\"sum_doc_freq\":120,\"doc_count\":15,\"sum_ttf\":135},\"terms\":{\"brown\":{\"term_freq\":1,\"tokens\":[{\"position\":2,\"start_offset\":10,\"end_offset\":15,\"payload\":\"d29yZA==\"}]},\"dog\":{\"term_freq\":1,\"tokens\":[{\"position\":8,\"start_offset\":40,\"end_offset\":43,\"payload\":\"d29yZA==\"}]},\"fox\":{\"term_freq\":1,\"tokens\":[{\"position\":3,\"start_offset\":16,\"end_offset\":19,\"payload\":\"d29yZA==\"}]},\"jumps\":{\"term_freq\":1,\"tokens\":[{\"position\":4,\"start_offset\":20,\"end_offset\":25,\"payload\":\"d29yZA==\"}]},\"lazy\":{\"term_freq\":1,\"tokens\":[{\"position\":7,\"start_offset\":35,\"end_offset\":39,\"payload\":\"d29yZA==\"}]},\"over\":{\"term_freq\":1,\"tokens\":[{\"position\":5,\"start_offset\":26,\"end_offset\":30,\"payload\":\"d29yZA==\"}]},\"quick\":{\"term_freq\":1,\"tokens\":[{\"position\":1,\"start_offset\":4,\"end_offset\":9,\"payload\":\"d29yZA==\"}]},\"the\":{\"term_freq\":2,\"tokens\":[{\"position\":0,\"start_offset\":0,\"end_offset\":3,\"payload\":\"d29yZA==\"},{\"position\":6,\"start_offset\":31,\"end_offset\":34,\"payload\":\"d29yZA==\"}]}}}}}";
|
+ "\",\"_version\":1,\"found\":true,\"term_vectors\":{\"field\":{\"field_statistics\":{\"sum_doc_freq\":120,\"doc_count\":15,\"sum_ttf\":135},\"terms\":{\"brown\":{\"term_freq\":1,\"tokens\":[{\"position\":2,\"start_offset\":10,\"end_offset\":15,\"payload\":\"d29yZA==\"}]},\"dog\":{\"term_freq\":1,\"tokens\":[{\"position\":8,\"start_offset\":40,\"end_offset\":43,\"payload\":\"d29yZA==\"}]},\"fox\":{\"term_freq\":1,\"tokens\":[{\"position\":3,\"start_offset\":16,\"end_offset\":19,\"payload\":\"d29yZA==\"}]},\"jumps\":{\"term_freq\":1,\"tokens\":[{\"position\":4,\"start_offset\":20,\"end_offset\":25,\"payload\":\"d29yZA==\"}]},\"lazy\":{\"term_freq\":1,\"tokens\":[{\"position\":7,\"start_offset\":35,\"end_offset\":39,\"payload\":\"d29yZA==\"}]},\"over\":{\"term_freq\":1,\"tokens\":[{\"position\":5,\"start_offset\":26,\"end_offset\":30,\"payload\":\"d29yZA==\"}]},\"quick\":{\"term_freq\":1,\"tokens\":[{\"position\":1,\"start_offset\":4,\"end_offset\":9,\"payload\":\"d29yZA==\"}]},\"the\":{\"term_freq\":2,\"tokens\":[{\"position\":0,\"start_offset\":0,\"end_offset\":3,\"payload\":\"d29yZA==\"},{\"position\":6,\"start_offset\":31,\"end_offset\":34,\"payload\":\"d29yZA==\"}]}}}}}";
|
||||||
|
@ -263,7 +263,7 @@ public class GetTermVectorsCheckDocFreqTests extends ElasticsearchIntegrationTes
|
||||||
response.toXContent(xBuilder, ToXContent.EMPTY_PARAMS);
|
response.toXContent(xBuilder, ToXContent.EMPTY_PARAMS);
|
||||||
xBuilder.endObject();
|
xBuilder.endObject();
|
||||||
BytesStream bytesStream = xBuilder.bytesStream();
|
BytesStream bytesStream = xBuilder.bytesStream();
|
||||||
String utf8 = bytesStream.bytes().toUtf8();
|
String utf8 = bytesStream.bytes().toUtf8().replaceFirst("\"took\":\\d+,", "");;
|
||||||
String expectedString = "{\"_index\":\"test\",\"_type\":\"type1\",\"_id\":\""
|
String expectedString = "{\"_index\":\"test\",\"_type\":\"type1\",\"_id\":\""
|
||||||
+ i
|
+ i
|
||||||
+ "\",\"_version\":1,\"found\":true,\"term_vectors\":{\"field\":{\"field_statistics\":{\"sum_doc_freq\":120,\"doc_count\":15,\"sum_ttf\":135},\"terms\":{\"brown\":{\"doc_freq\":15,\"ttf\":15,\"term_freq\":1,\"tokens\":[{\"position\":2,\"start_offset\":10,\"end_offset\":15,\"payload\":\"d29yZA==\"}]},\"dog\":{\"doc_freq\":15,\"ttf\":15,\"term_freq\":1,\"tokens\":[{\"position\":8,\"start_offset\":40,\"end_offset\":43,\"payload\":\"d29yZA==\"}]},\"fox\":{\"doc_freq\":15,\"ttf\":15,\"term_freq\":1,\"tokens\":[{\"position\":3,\"start_offset\":16,\"end_offset\":19,\"payload\":\"d29yZA==\"}]},\"jumps\":{\"doc_freq\":15,\"ttf\":15,\"term_freq\":1,\"tokens\":[{\"position\":4,\"start_offset\":20,\"end_offset\":25,\"payload\":\"d29yZA==\"}]},\"lazy\":{\"doc_freq\":15,\"ttf\":15,\"term_freq\":1,\"tokens\":[{\"position\":7,\"start_offset\":35,\"end_offset\":39,\"payload\":\"d29yZA==\"}]},\"over\":{\"doc_freq\":15,\"ttf\":15,\"term_freq\":1,\"tokens\":[{\"position\":5,\"start_offset\":26,\"end_offset\":30,\"payload\":\"d29yZA==\"}]},\"quick\":{\"doc_freq\":15,\"ttf\":15,\"term_freq\":1,\"tokens\":[{\"position\":1,\"start_offset\":4,\"end_offset\":9,\"payload\":\"d29yZA==\"}]},\"the\":{\"doc_freq\":15,\"ttf\":30,\"term_freq\":2,\"tokens\":[{\"position\":0,\"start_offset\":0,\"end_offset\":3,\"payload\":\"d29yZA==\"},{\"position\":6,\"start_offset\":31,\"end_offset\":34,\"payload\":\"d29yZA==\"}]}}}}}";
|
+ "\",\"_version\":1,\"found\":true,\"term_vectors\":{\"field\":{\"field_statistics\":{\"sum_doc_freq\":120,\"doc_count\":15,\"sum_ttf\":135},\"terms\":{\"brown\":{\"doc_freq\":15,\"ttf\":15,\"term_freq\":1,\"tokens\":[{\"position\":2,\"start_offset\":10,\"end_offset\":15,\"payload\":\"d29yZA==\"}]},\"dog\":{\"doc_freq\":15,\"ttf\":15,\"term_freq\":1,\"tokens\":[{\"position\":8,\"start_offset\":40,\"end_offset\":43,\"payload\":\"d29yZA==\"}]},\"fox\":{\"doc_freq\":15,\"ttf\":15,\"term_freq\":1,\"tokens\":[{\"position\":3,\"start_offset\":16,\"end_offset\":19,\"payload\":\"d29yZA==\"}]},\"jumps\":{\"doc_freq\":15,\"ttf\":15,\"term_freq\":1,\"tokens\":[{\"position\":4,\"start_offset\":20,\"end_offset\":25,\"payload\":\"d29yZA==\"}]},\"lazy\":{\"doc_freq\":15,\"ttf\":15,\"term_freq\":1,\"tokens\":[{\"position\":7,\"start_offset\":35,\"end_offset\":39,\"payload\":\"d29yZA==\"}]},\"over\":{\"doc_freq\":15,\"ttf\":15,\"term_freq\":1,\"tokens\":[{\"position\":5,\"start_offset\":26,\"end_offset\":30,\"payload\":\"d29yZA==\"}]},\"quick\":{\"doc_freq\":15,\"ttf\":15,\"term_freq\":1,\"tokens\":[{\"position\":1,\"start_offset\":4,\"end_offset\":9,\"payload\":\"d29yZA==\"}]},\"the\":{\"doc_freq\":15,\"ttf\":30,\"term_freq\":2,\"tokens\":[{\"position\":0,\"start_offset\":0,\"end_offset\":3,\"payload\":\"d29yZA==\"},{\"position\":6,\"start_offset\":31,\"end_offset\":34,\"payload\":\"d29yZA==\"}]}}}}}";
|
||||||
|
|
Loading…
Reference in New Issue