public void optimizeIndex(String index, int maxNumSegments, Duration timeout) { final RequestConfig requestConfig = RequestConfig.custom() .setSocketTimeout(Ints.saturatedCast(timeout.toMilliseconds())) .build(); final ForceMerge request = new ForceMerge.Builder() .addIndex(index) .maxNumSegments(maxNumSegments) .flush(true) .onlyExpungeDeletes(false) .build(); JestUtils.execute(jestClient, requestConfig, request, () -> "Couldn't force merge index " + index); }
/** * Should the merge process only expunge segments with deletes in it. In Lucene, * a document is not deleted from a segment, just marked as deleted. During a merge * process of segments, a new segment is created that does not have those deletes. * This flag allow to only merge segments that have deletes. Defaults to false. */ public Builder onlyExpungeDeletes(boolean onlyExpungeDeletes) { return setParameter("only_expunge_deletes", onlyExpungeDeletes); }
/** * The number of segments to merge to. To fully merge the index, set it to 1. * Defaults to simply checking if a merge needs to execute, and if so, executes it. */ public Builder maxNumSegments(Number maxNumSegments) { return setParameter("max_num_segments", maxNumSegments); }
/** * Should a flush be performed after the forced merge. Defaults to true. */ public Builder flush(boolean flush) { return setParameter("flush", flush); }
/** * Should a flush be performed after the forced merge. Defaults to true. */ public Builder flush(boolean flush) { return setParameter("flush", flush); }
/** * Should the merge process only expunge segments with deletes in it. In Lucene, * a document is not deleted from a segment, just marked as deleted. During a merge * process of segments, a new segment is created that does not have those deletes. * This flag allow to only merge segments that have deletes. Defaults to false. */ public Builder onlyExpungeDeletes(boolean onlyExpungeDeletes) { return setParameter("only_expunge_deletes", onlyExpungeDeletes); }
/** * The number of segments to merge to. To fully merge the index, set it to 1. * Defaults to simply checking if a merge needs to execute, and if so, executes it. */ public Builder maxNumSegments(Number maxNumSegments) { return setParameter("max_num_segments", maxNumSegments); }
public void optimizeIndex(String index, int maxNumSegments, Duration timeout) { final RequestConfig requestConfig = RequestConfig.custom() .setSocketTimeout(Ints.saturatedCast(timeout.toMilliseconds())) .build(); final ForceMerge request = new ForceMerge.Builder() .addIndex(index) .maxNumSegments(maxNumSegments) .flush(true) .onlyExpungeDeletes(false) .build(); JestUtils.execute(jestClient, requestConfig, request, () -> "Couldn't force merge index " + index); }
/** * Should the merge process only expunge segments with deletes in it. In Lucene, * a document is not deleted from a segment, just marked as deleted. During a merge * process of segments, a new segment is created that does not have those deletes. * This flag allow to only merge segments that have deletes. Defaults to false. */ public Builder onlyExpungeDeletes(boolean onlyExpungeDeletes) { return setParameter("only_expunge_deletes", onlyExpungeDeletes); }
/** * The number of segments to merge to. To fully merge the index, set it to 1. * Defaults to simply checking if a merge needs to execute, and if so, executes it. */ public Builder maxNumSegments(Number maxNumSegments) { return setParameter("max_num_segments", maxNumSegments); }
/** * Should a flush be performed after the forced merge. Defaults to true. */ public Builder flush(boolean flush) { return setParameter("flush", flush); }