From 36a0bb8141167516f5dc099cc2aa1f53ecddad54 Mon Sep 17 00:00:00 2001 From: Patrick Doyle Date: Mon, 26 May 2025 13:07:49 -0400 Subject: [PATCH 1/2] Revert "Fix the Text class package change in example plugins (#128316)" This reverts commit cc486480e359e61efbe194079a64777d9e75483f. --- .../elasticsearch/example/customsuggester/CustomSuggester.java | 2 +- .../elasticsearch/example/customsuggester/CustomSuggestion.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/examples/custom-suggester/src/main/java/org/elasticsearch/example/customsuggester/CustomSuggester.java b/plugins/examples/custom-suggester/src/main/java/org/elasticsearch/example/customsuggester/CustomSuggester.java index 1c2e52f3c606a..148324be55654 100644 --- a/plugins/examples/custom-suggester/src/main/java/org/elasticsearch/example/customsuggester/CustomSuggester.java +++ b/plugins/examples/custom-suggester/src/main/java/org/elasticsearch/example/customsuggester/CustomSuggester.java @@ -11,7 +11,7 @@ import org.apache.lucene.search.IndexSearcher; import org.apache.lucene.util.CharsRefBuilder; -import org.elasticsearch.xcontent.Text; +import org.elasticsearch.common.text.Text; import org.elasticsearch.search.suggest.Suggest; import org.elasticsearch.search.suggest.Suggester; diff --git a/plugins/examples/custom-suggester/src/main/java/org/elasticsearch/example/customsuggester/CustomSuggestion.java b/plugins/examples/custom-suggester/src/main/java/org/elasticsearch/example/customsuggester/CustomSuggestion.java index dd349bfe1bbce..b04d62065edc2 100644 --- a/plugins/examples/custom-suggester/src/main/java/org/elasticsearch/example/customsuggester/CustomSuggestion.java +++ b/plugins/examples/custom-suggester/src/main/java/org/elasticsearch/example/customsuggester/CustomSuggestion.java @@ -11,7 +11,7 @@ import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.common.io.stream.StreamOutput; -import org.elasticsearch.xcontent.Text; +import org.elasticsearch.common.text.Text; import org.elasticsearch.search.suggest.Suggest; import org.elasticsearch.xcontent.ParseField; import org.elasticsearch.xcontent.XContentBuilder; From f431c7d7e7a54f787816ffaf4bedc31dcfdc5a6d Mon Sep 17 00:00:00 2001 From: Patrick Doyle Date: Mon, 26 May 2025 13:08:20 -0400 Subject: [PATCH 2/2] Revert "Update Text class to use native java ByteBuffer (#127666)" This reverts commit db0c3c7a286621ba138792edeac659a7fc9c1de3. --- .../xcontent/XContentString.java | 29 --------- .../cluster/service/MasterService.java | 2 +- .../cluster/service/PendingClusterTask.java | 2 +- .../common/io/stream/StreamInput.java | 18 ++---- .../common/io/stream/StreamOutput.java | 4 +- .../org/elasticsearch/common/text}/Text.java | 62 +++++++------------ .../org/elasticsearch/search/SearchHit.java | 2 +- .../search/SearchShardTarget.java | 2 +- .../highlight/DefaultHighlighter.java | 2 +- .../highlight/FastVectorHighlighter.java | 2 +- .../subphase/highlight/HighlightField.java | 2 +- .../subphase/highlight/PlainHighlighter.java | 2 +- .../searchafter/SearchAfterBuilder.java | 2 +- .../elasticsearch/search/suggest/Suggest.java | 2 +- .../completion/CompletionSuggester.java | 2 +- .../completion/CompletionSuggestion.java | 2 +- .../suggest/phrase/PhraseSuggester.java | 2 +- .../suggest/phrase/PhraseSuggestion.java | 2 +- .../search/suggest/term/TermSuggester.java | 10 ++- .../search/suggest/term/TermSuggestion.java | 2 +- .../PendingClusterTasksResponseTests.java | 2 +- .../search/SearchPhaseControllerTests.java | 2 +- .../search/SearchResponseMergerTests.java | 2 +- .../common/xcontent/BaseXContentTestCase.java | 14 ++--- .../subphase/highlight/CustomHighlighter.java | 2 +- .../highlight/HighlightFieldTests.java | 2 +- .../search/query/QueryPhaseTimeoutTests.java | 2 +- .../searchafter/SearchAfterBuilderTests.java | 2 +- .../CompletionSuggestionOptionTests.java | 2 +- .../search/suggest/SuggestTests.java | 2 +- .../search/suggest/SuggestionEntryTests.java | 2 +- .../search/suggest/SuggestionOptionTests.java | 2 +- .../search/suggest/SuggestionTests.java | 2 +- .../suggest/TermSuggestionOptionTests.java | 2 +- .../completion/CompletionSuggestionTests.java | 2 +- .../search/RandomSearchRequestGenerator.java | 2 +- .../search/SearchResponseUtils.java | 2 +- .../search/fetch/HighlighterTestCase.java | 2 +- .../highlight/SemanticTextHighlighter.java | 2 +- 39 files changed, 71 insertions(+), 132 deletions(-) delete mode 100644 libs/x-content/src/main/java/org/elasticsearch/xcontent/XContentString.java rename {libs/x-content/src/main/java/org/elasticsearch/xcontent => server/src/main/java/org/elasticsearch/common/text}/Text.java (63%) diff --git a/libs/x-content/src/main/java/org/elasticsearch/xcontent/XContentString.java b/libs/x-content/src/main/java/org/elasticsearch/xcontent/XContentString.java deleted file mode 100644 index 35a57a227cdfc..0000000000000 --- a/libs/x-content/src/main/java/org/elasticsearch/xcontent/XContentString.java +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the "Elastic License - * 2.0", the "GNU Affero General Public License v3.0 only", and the "Server Side - * Public License v 1"; you may not use this file except in compliance with, at - * your election, the "Elastic License 2.0", the "GNU Affero General Public - * License v3.0 only", or the "Server Side Public License, v 1". - */ - -package org.elasticsearch.xcontent; - -import java.nio.ByteBuffer; - -public interface XContentString { - /** - * Returns a {@link String} view of the data. - */ - String string(); - - /** - * Returns a UTF8-encoded {@link ByteBuffer} view of the data. - */ - ByteBuffer bytes(); - - /** - * Returns the number of characters in the represented string. - */ - int stringLength(); -} diff --git a/server/src/main/java/org/elasticsearch/cluster/service/MasterService.java b/server/src/main/java/org/elasticsearch/cluster/service/MasterService.java index 596cce87fd151..05fa03283d065 100644 --- a/server/src/main/java/org/elasticsearch/cluster/service/MasterService.java +++ b/server/src/main/java/org/elasticsearch/cluster/service/MasterService.java @@ -36,6 +36,7 @@ import org.elasticsearch.common.settings.ClusterSettings; import org.elasticsearch.common.settings.Setting; import org.elasticsearch.common.settings.Settings; +import org.elasticsearch.common.text.Text; import org.elasticsearch.common.util.CollectionUtils; import org.elasticsearch.common.util.concurrent.AbstractRunnable; import org.elasticsearch.common.util.concurrent.CountDown; @@ -55,7 +56,6 @@ import org.elasticsearch.tasks.TaskManager; import org.elasticsearch.threadpool.Scheduler; import org.elasticsearch.threadpool.ThreadPool; -import org.elasticsearch.xcontent.Text; import java.util.ArrayList; import java.util.Collections; diff --git a/server/src/main/java/org/elasticsearch/cluster/service/PendingClusterTask.java b/server/src/main/java/org/elasticsearch/cluster/service/PendingClusterTask.java index 075e69504de14..b83a56ca9b425 100644 --- a/server/src/main/java/org/elasticsearch/cluster/service/PendingClusterTask.java +++ b/server/src/main/java/org/elasticsearch/cluster/service/PendingClusterTask.java @@ -13,8 +13,8 @@ import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.common.io.stream.StreamOutput; import org.elasticsearch.common.io.stream.Writeable; +import org.elasticsearch.common.text.Text; import org.elasticsearch.core.TimeValue; -import org.elasticsearch.xcontent.Text; import java.io.IOException; diff --git a/server/src/main/java/org/elasticsearch/common/io/stream/StreamInput.java b/server/src/main/java/org/elasticsearch/common/io/stream/StreamInput.java index f54d03342b8fb..8b54c7a78907c 100644 --- a/server/src/main/java/org/elasticsearch/common/io/stream/StreamInput.java +++ b/server/src/main/java/org/elasticsearch/common/io/stream/StreamInput.java @@ -23,12 +23,12 @@ import org.elasticsearch.common.collect.ImmutableOpenMap; import org.elasticsearch.common.geo.GeoPoint; import org.elasticsearch.common.settings.SecureString; +import org.elasticsearch.common.text.Text; import org.elasticsearch.common.util.Maps; import org.elasticsearch.common.util.set.Sets; import org.elasticsearch.core.CharArrays; import org.elasticsearch.core.Nullable; import org.elasticsearch.core.TimeValue; -import org.elasticsearch.xcontent.Text; import java.io.EOFException; import java.io.FilterInputStream; @@ -391,23 +391,13 @@ public Text readOptionalText() throws IOException { if (length == -1) { return null; } - byte[] bytes = new byte[length]; - if (length > 0) { - readBytes(bytes, 0, length); - } - var byteBuff = ByteBuffer.wrap(bytes); - return new Text(byteBuff); + return new Text(readBytesReference(length)); } public Text readText() throws IOException { - // use Text so we can cache the string if it's ever converted to it + // use StringAndBytes so we can cache the string if it's ever converted to it int length = readInt(); - byte[] bytes = new byte[length]; - if (length > 0) { - readBytes(bytes, 0, length); - } - var byteBuff = ByteBuffer.wrap(bytes); - return new Text(byteBuff); + return new Text(readBytesReference(length)); } @Nullable diff --git a/server/src/main/java/org/elasticsearch/common/io/stream/StreamOutput.java b/server/src/main/java/org/elasticsearch/common/io/stream/StreamOutput.java index 1b1e9a525b027..0621709683ba3 100644 --- a/server/src/main/java/org/elasticsearch/common/io/stream/StreamOutput.java +++ b/server/src/main/java/org/elasticsearch/common/io/stream/StreamOutput.java @@ -22,11 +22,11 @@ import org.elasticsearch.common.geo.GeoPoint; import org.elasticsearch.common.io.stream.Writeable.Writer; import org.elasticsearch.common.settings.SecureString; +import org.elasticsearch.common.text.Text; import org.elasticsearch.common.util.ByteUtils; import org.elasticsearch.core.CharArrays; import org.elasticsearch.core.Nullable; import org.elasticsearch.core.TimeValue; -import org.elasticsearch.xcontent.Text; import org.elasticsearch.xcontent.XContentType; import java.io.IOException; @@ -419,7 +419,7 @@ public void writeText(Text text) throws IOException { writeInt(spare.length()); write(spare.bytes(), 0, spare.length()); } else { - BytesReference bytes = BytesReference.fromByteBuffer(text.bytes()); + BytesReference bytes = text.bytes(); writeInt(bytes.length()); bytes.writeTo(this); } diff --git a/libs/x-content/src/main/java/org/elasticsearch/xcontent/Text.java b/server/src/main/java/org/elasticsearch/common/text/Text.java similarity index 63% rename from libs/x-content/src/main/java/org/elasticsearch/xcontent/Text.java rename to server/src/main/java/org/elasticsearch/common/text/Text.java index 2aa37d2bbdc63..b24b596557753 100644 --- a/libs/x-content/src/main/java/org/elasticsearch/xcontent/Text.java +++ b/server/src/main/java/org/elasticsearch/common/text/Text.java @@ -6,17 +6,22 @@ * your election, the "Elastic License 2.0", the "GNU Affero General Public * License v3.0 only", or the "Server Side Public License, v 1". */ -package org.elasticsearch.xcontent; +package org.elasticsearch.common.text; + +import org.apache.lucene.util.BytesRef; +import org.elasticsearch.common.bytes.BytesArray; +import org.elasticsearch.common.bytes.BytesReference; +import org.elasticsearch.xcontent.ToXContentFragment; +import org.elasticsearch.xcontent.XContentBuilder; import java.io.IOException; -import java.nio.ByteBuffer; import java.nio.charset.StandardCharsets; /** - * Both {@link String} and {@link ByteBuffer} representation of the text. Starts with one of those, and if + * Both {@link String} and {@link BytesReference} representation of the text. Starts with one of those, and if * the other is requests, caches the other one in a local reference so no additional conversion will be needed. */ -public final class Text implements XContentString, Comparable, ToXContentFragment { +public final class Text implements Comparable, ToXContentFragment { public static final Text[] EMPTY_ARRAY = new Text[0]; @@ -31,26 +36,12 @@ public static Text[] convertFromStringArray(String[] strings) { return texts; } - private ByteBuffer bytes; + private BytesReference bytes; private String text; private int hash; - private int stringLength = -1; - - /** - * Construct a Text from a UTF-8 encoded ByteBuffer. Since no string length is specified, {@link #stringLength()} - * will perform a string conversion to measure the string length. - */ - public Text(ByteBuffer bytes) { - this.bytes = bytes; - } - /** - * Construct a Text from a UTF-8 encoded ByteBuffer and an explicit string length. Used to avoid string conversion - * in {@link #stringLength()}. - */ - public Text(ByteBuffer bytes, int stringLength) { + public Text(BytesReference bytes) { this.bytes = bytes; - this.stringLength = stringLength; } public Text(String text) { @@ -58,16 +49,18 @@ public Text(String text) { } /** - * Whether a {@link ByteBuffer} view of the data is already materialized. + * Whether a {@link BytesReference} view of the data is already materialized. */ public boolean hasBytes() { return bytes != null; } - @Override - public ByteBuffer bytes() { + /** + * Returns a {@link BytesReference} view of the data. + */ + public BytesReference bytes() { if (bytes == null) { - bytes = StandardCharsets.UTF_8.encode(text); + bytes = new BytesArray(text.getBytes(StandardCharsets.UTF_8)); } return bytes; } @@ -79,20 +72,11 @@ public boolean hasString() { return text != null; } - @Override + /** + * Returns a {@link String} view of the data. + */ public String string() { - if (text == null) { - text = StandardCharsets.UTF_8.decode(bytes).toString(); - } - return text; - } - - @Override - public int stringLength() { - if (stringLength < 0) { - stringLength = string().length(); - } - return stringLength; + return text == null ? bytes.utf8ToString() : text; } @Override @@ -131,8 +115,8 @@ public XContentBuilder toXContent(XContentBuilder builder, Params params) throws } else { // TODO: TextBytesOptimization we can use a buffer here to convert it? maybe add a // request to jackson to support InputStream as well? - assert bytes.hasArray(); - return builder.utf8Value(bytes.array(), bytes.arrayOffset() + bytes.position(), bytes.remaining()); + BytesRef br = this.bytes().toBytesRef(); + return builder.utf8Value(br.bytes, br.offset, br.length); } } } diff --git a/server/src/main/java/org/elasticsearch/search/SearchHit.java b/server/src/main/java/org/elasticsearch/search/SearchHit.java index a9c8e01fa32ac..950df0dc22907 100644 --- a/server/src/main/java/org/elasticsearch/search/SearchHit.java +++ b/server/src/main/java/org/elasticsearch/search/SearchHit.java @@ -20,6 +20,7 @@ import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.common.io.stream.StreamOutput; import org.elasticsearch.common.io.stream.Writeable; +import org.elasticsearch.common.text.Text; import org.elasticsearch.common.util.Maps; import org.elasticsearch.common.xcontent.ChunkedToXContent; import org.elasticsearch.common.xcontent.XContentHelper; @@ -38,7 +39,6 @@ import org.elasticsearch.search.lookup.Source; import org.elasticsearch.transport.LeakTracker; import org.elasticsearch.transport.RemoteClusterAware; -import org.elasticsearch.xcontent.Text; import org.elasticsearch.xcontent.ToXContentFragment; import org.elasticsearch.xcontent.ToXContentObject; import org.elasticsearch.xcontent.XContentBuilder; diff --git a/server/src/main/java/org/elasticsearch/search/SearchShardTarget.java b/server/src/main/java/org/elasticsearch/search/SearchShardTarget.java index 41664c30cc1b4..ae27fba37372e 100644 --- a/server/src/main/java/org/elasticsearch/search/SearchShardTarget.java +++ b/server/src/main/java/org/elasticsearch/search/SearchShardTarget.java @@ -12,10 +12,10 @@ import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.common.io.stream.StreamOutput; import org.elasticsearch.common.io.stream.Writeable; +import org.elasticsearch.common.text.Text; import org.elasticsearch.core.Nullable; import org.elasticsearch.index.shard.ShardId; import org.elasticsearch.transport.RemoteClusterAware; -import org.elasticsearch.xcontent.Text; import java.io.IOException; import java.util.Objects; diff --git a/server/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/DefaultHighlighter.java b/server/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/DefaultHighlighter.java index 3efbcd15140e5..9f888c1f08baa 100644 --- a/server/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/DefaultHighlighter.java +++ b/server/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/DefaultHighlighter.java @@ -21,6 +21,7 @@ import org.elasticsearch.common.CheckedSupplier; import org.elasticsearch.common.Strings; import org.elasticsearch.common.lucene.Lucene; +import org.elasticsearch.common.text.Text; import org.elasticsearch.index.IndexSettings; import org.elasticsearch.index.mapper.IdFieldMapper; import org.elasticsearch.index.mapper.MappedFieldType; @@ -33,7 +34,6 @@ import org.elasticsearch.lucene.search.uhighlight.Snippet; import org.elasticsearch.search.fetch.FetchContext; import org.elasticsearch.search.fetch.FetchSubPhase; -import org.elasticsearch.xcontent.Text; import java.io.IOException; import java.text.BreakIterator; diff --git a/server/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/FastVectorHighlighter.java b/server/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/FastVectorHighlighter.java index d0060142890d7..ddf3645af4f40 100644 --- a/server/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/FastVectorHighlighter.java +++ b/server/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/FastVectorHighlighter.java @@ -23,6 +23,7 @@ import org.apache.lucene.search.vectorhighlight.SingleFragListBuilder; import org.elasticsearch.common.settings.Setting; import org.elasticsearch.common.settings.Settings; +import org.elasticsearch.common.text.Text; import org.elasticsearch.common.util.CollectionUtils; import org.elasticsearch.index.mapper.MappedFieldType; import org.elasticsearch.index.mapper.TextSearchInfo; @@ -32,7 +33,6 @@ import org.elasticsearch.search.fetch.subphase.highlight.SearchHighlightContext.Field; import org.elasticsearch.search.fetch.subphase.highlight.SearchHighlightContext.FieldOptions; import org.elasticsearch.search.lookup.Source; -import org.elasticsearch.xcontent.Text; import java.io.IOException; import java.text.BreakIterator; diff --git a/server/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/HighlightField.java b/server/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/HighlightField.java index e5b2b14ccb6b7..9516465309c39 100644 --- a/server/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/HighlightField.java +++ b/server/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/HighlightField.java @@ -12,7 +12,7 @@ import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.common.io.stream.StreamOutput; import org.elasticsearch.common.io.stream.Writeable; -import org.elasticsearch.xcontent.Text; +import org.elasticsearch.common.text.Text; import org.elasticsearch.xcontent.ToXContentFragment; import org.elasticsearch.xcontent.XContentBuilder; diff --git a/server/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/PlainHighlighter.java b/server/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/PlainHighlighter.java index 47944ef65da55..e1c09e925c1b4 100644 --- a/server/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/PlainHighlighter.java +++ b/server/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/PlainHighlighter.java @@ -24,12 +24,12 @@ import org.apache.lucene.search.highlight.TextFragment; import org.apache.lucene.util.BytesRefHash; import org.elasticsearch.common.lucene.Lucene; +import org.elasticsearch.common.text.Text; import org.elasticsearch.index.IndexSettings; import org.elasticsearch.index.mapper.MappedFieldType; import org.elasticsearch.lucene.search.uhighlight.QueryMaxAnalyzedOffset; import org.elasticsearch.search.fetch.FetchContext; import org.elasticsearch.search.fetch.FetchSubPhase; -import org.elasticsearch.xcontent.Text; import java.io.IOException; import java.util.ArrayList; diff --git a/server/src/main/java/org/elasticsearch/search/searchafter/SearchAfterBuilder.java b/server/src/main/java/org/elasticsearch/search/searchafter/SearchAfterBuilder.java index 02d1a69582666..f43952554c4f6 100644 --- a/server/src/main/java/org/elasticsearch/search/searchafter/SearchAfterBuilder.java +++ b/server/src/main/java/org/elasticsearch/search/searchafter/SearchAfterBuilder.java @@ -19,12 +19,12 @@ import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.common.io.stream.StreamOutput; import org.elasticsearch.common.io.stream.Writeable; +import org.elasticsearch.common.text.Text; import org.elasticsearch.core.Nullable; import org.elasticsearch.index.fielddata.IndexFieldData; import org.elasticsearch.search.DocValueFormat; import org.elasticsearch.search.sort.SortAndFormats; import org.elasticsearch.xcontent.ParseField; -import org.elasticsearch.xcontent.Text; import org.elasticsearch.xcontent.ToXContentObject; import org.elasticsearch.xcontent.XContentBuilder; import org.elasticsearch.xcontent.XContentParser; diff --git a/server/src/main/java/org/elasticsearch/search/suggest/Suggest.java b/server/src/main/java/org/elasticsearch/search/suggest/Suggest.java index ccd9d88c1b26b..174f38d0cb051 100644 --- a/server/src/main/java/org/elasticsearch/search/suggest/Suggest.java +++ b/server/src/main/java/org/elasticsearch/search/suggest/Suggest.java @@ -14,13 +14,13 @@ import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.common.io.stream.StreamOutput; import org.elasticsearch.common.io.stream.Writeable; +import org.elasticsearch.common.text.Text; import org.elasticsearch.rest.action.search.RestSearchAction; import org.elasticsearch.search.aggregations.Aggregation; import org.elasticsearch.search.suggest.Suggest.Suggestion.Entry; import org.elasticsearch.search.suggest.Suggest.Suggestion.Entry.Option; import org.elasticsearch.search.suggest.completion.CompletionSuggestion; import org.elasticsearch.xcontent.ParseField; -import org.elasticsearch.xcontent.Text; import org.elasticsearch.xcontent.ToXContentFragment; import org.elasticsearch.xcontent.XContentBuilder; diff --git a/server/src/main/java/org/elasticsearch/search/suggest/completion/CompletionSuggester.java b/server/src/main/java/org/elasticsearch/search/suggest/completion/CompletionSuggester.java index 9cb1815c36894..fd6cfeaea639b 100644 --- a/server/src/main/java/org/elasticsearch/search/suggest/completion/CompletionSuggester.java +++ b/server/src/main/java/org/elasticsearch/search/suggest/completion/CompletionSuggester.java @@ -19,10 +19,10 @@ import org.apache.lucene.search.suggest.document.TopSuggestDocs; import org.apache.lucene.search.suggest.document.TopSuggestDocsCollector; import org.apache.lucene.util.CharsRefBuilder; +import org.elasticsearch.common.text.Text; import org.elasticsearch.index.mapper.CompletionFieldMapper; import org.elasticsearch.search.suggest.Suggest; import org.elasticsearch.search.suggest.Suggester; -import org.elasticsearch.xcontent.Text; import java.io.IOException; import java.util.Collections; diff --git a/server/src/main/java/org/elasticsearch/search/suggest/completion/CompletionSuggestion.java b/server/src/main/java/org/elasticsearch/search/suggest/completion/CompletionSuggestion.java index 6493540750a5b..f90590b6fa96a 100644 --- a/server/src/main/java/org/elasticsearch/search/suggest/completion/CompletionSuggestion.java +++ b/server/src/main/java/org/elasticsearch/search/suggest/completion/CompletionSuggestion.java @@ -14,12 +14,12 @@ import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.common.io.stream.StreamOutput; import org.elasticsearch.common.lucene.Lucene; +import org.elasticsearch.common.text.Text; import org.elasticsearch.common.util.Maps; import org.elasticsearch.common.util.set.Sets; import org.elasticsearch.search.SearchHit; import org.elasticsearch.search.suggest.Suggest; import org.elasticsearch.xcontent.ParseField; -import org.elasticsearch.xcontent.Text; import org.elasticsearch.xcontent.XContentBuilder; import java.io.IOException; diff --git a/server/src/main/java/org/elasticsearch/search/suggest/phrase/PhraseSuggester.java b/server/src/main/java/org/elasticsearch/search/suggest/phrase/PhraseSuggester.java index ebaf969b40aef..57eb7cfd73519 100644 --- a/server/src/main/java/org/elasticsearch/search/suggest/phrase/PhraseSuggester.java +++ b/server/src/main/java/org/elasticsearch/search/suggest/phrase/PhraseSuggester.java @@ -19,6 +19,7 @@ import org.apache.lucene.util.BytesRefBuilder; import org.apache.lucene.util.CharsRefBuilder; import org.elasticsearch.common.lucene.Lucene; +import org.elasticsearch.common.text.Text; import org.elasticsearch.index.query.AbstractQueryBuilder; import org.elasticsearch.index.query.ParsedQuery; import org.elasticsearch.index.query.QueryBuilder; @@ -30,7 +31,6 @@ import org.elasticsearch.search.suggest.Suggester; import org.elasticsearch.search.suggest.SuggestionSearchContext.SuggestionContext; import org.elasticsearch.search.suggest.phrase.NoisyChannelSpellChecker.Result; -import org.elasticsearch.xcontent.Text; import org.elasticsearch.xcontent.XContentFactory; import org.elasticsearch.xcontent.XContentParser; diff --git a/server/src/main/java/org/elasticsearch/search/suggest/phrase/PhraseSuggestion.java b/server/src/main/java/org/elasticsearch/search/suggest/phrase/PhraseSuggestion.java index ad50ecfd74444..9afdbc8eb3a74 100644 --- a/server/src/main/java/org/elasticsearch/search/suggest/phrase/PhraseSuggestion.java +++ b/server/src/main/java/org/elasticsearch/search/suggest/phrase/PhraseSuggestion.java @@ -11,9 +11,9 @@ import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.common.io.stream.StreamOutput; +import org.elasticsearch.common.text.Text; import org.elasticsearch.search.suggest.Suggest; import org.elasticsearch.search.suggest.Suggest.Suggestion; -import org.elasticsearch.xcontent.Text; import java.io.IOException; import java.util.Objects; diff --git a/server/src/main/java/org/elasticsearch/search/suggest/term/TermSuggester.java b/server/src/main/java/org/elasticsearch/search/suggest/term/TermSuggester.java index 43d2fe7dfab77..b6e2ba7df0b9f 100644 --- a/server/src/main/java/org/elasticsearch/search/suggest/term/TermSuggester.java +++ b/server/src/main/java/org/elasticsearch/search/suggest/term/TermSuggester.java @@ -16,13 +16,13 @@ import org.apache.lucene.util.BytesRef; import org.apache.lucene.util.BytesRefBuilder; import org.apache.lucene.util.CharsRefBuilder; +import org.elasticsearch.common.bytes.BytesArray; +import org.elasticsearch.common.text.Text; import org.elasticsearch.search.suggest.Suggester; import org.elasticsearch.search.suggest.SuggestionSearchContext.SuggestionContext; import org.elasticsearch.search.suggest.phrase.DirectCandidateGenerator; -import org.elasticsearch.xcontent.Text; import java.io.IOException; -import java.nio.ByteBuffer; import java.util.ArrayList; import java.util.List; @@ -47,8 +47,7 @@ public TermSuggestion innerExecute(String name, TermSuggestionContext suggestion indexReader, suggestion.getDirectSpellCheckerSettings().suggestMode() ); - var termBytes = token.term.bytes(); - Text key = new Text(ByteBuffer.wrap(termBytes.bytes, termBytes.offset, termBytes.length)); + Text key = new Text(new BytesArray(token.term.bytes())); TermSuggestion.Entry resultEntry = new TermSuggestion.Entry(key, token.startOffset, token.endOffset - token.startOffset); for (SuggestWord suggestWord : suggestedWords) { Text word = new Text(suggestWord.string); @@ -97,8 +96,7 @@ protected TermSuggestion emptySuggestion(String name, TermSuggestionContext sugg TermSuggestion termSuggestion = new TermSuggestion(name, suggestion.getSize(), suggestion.getDirectSpellCheckerSettings().sort()); List tokens = queryTerms(suggestion, spare); for (Token token : tokens) { - var termBytes = token.term.bytes(); - Text key = new Text(ByteBuffer.wrap(termBytes.bytes, termBytes.offset, termBytes.length)); + Text key = new Text(new BytesArray(token.term.bytes())); TermSuggestion.Entry resultEntry = new TermSuggestion.Entry(key, token.startOffset, token.endOffset - token.startOffset); termSuggestion.addTerm(resultEntry); } diff --git a/server/src/main/java/org/elasticsearch/search/suggest/term/TermSuggestion.java b/server/src/main/java/org/elasticsearch/search/suggest/term/TermSuggestion.java index 05330c9632063..2c86aa75ebf7f 100644 --- a/server/src/main/java/org/elasticsearch/search/suggest/term/TermSuggestion.java +++ b/server/src/main/java/org/elasticsearch/search/suggest/term/TermSuggestion.java @@ -10,12 +10,12 @@ import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.common.io.stream.StreamOutput; +import org.elasticsearch.common.text.Text; import org.elasticsearch.search.suggest.SortBy; import org.elasticsearch.search.suggest.Suggest; import org.elasticsearch.search.suggest.Suggest.Suggestion; import org.elasticsearch.search.suggest.Suggest.Suggestion.Entry.Option; import org.elasticsearch.xcontent.ParseField; -import org.elasticsearch.xcontent.Text; import org.elasticsearch.xcontent.XContentBuilder; import java.io.IOException; diff --git a/server/src/test/java/org/elasticsearch/action/admin/cluster/tasks/PendingClusterTasksResponseTests.java b/server/src/test/java/org/elasticsearch/action/admin/cluster/tasks/PendingClusterTasksResponseTests.java index 9c00c772bb69e..e00c8d5d0444d 100644 --- a/server/src/test/java/org/elasticsearch/action/admin/cluster/tasks/PendingClusterTasksResponseTests.java +++ b/server/src/test/java/org/elasticsearch/action/admin/cluster/tasks/PendingClusterTasksResponseTests.java @@ -11,9 +11,9 @@ import org.elasticsearch.cluster.service.PendingClusterTask; import org.elasticsearch.common.Priority; +import org.elasticsearch.common.text.Text; import org.elasticsearch.test.AbstractChunkedSerializingTestCase; import org.elasticsearch.test.ESTestCase; -import org.elasticsearch.xcontent.Text; import java.util.ArrayList; diff --git a/server/src/test/java/org/elasticsearch/action/search/SearchPhaseControllerTests.java b/server/src/test/java/org/elasticsearch/action/search/SearchPhaseControllerTests.java index 04bec6276f9d9..5f6e0178db1ac 100644 --- a/server/src/test/java/org/elasticsearch/action/search/SearchPhaseControllerTests.java +++ b/server/src/test/java/org/elasticsearch/action/search/SearchPhaseControllerTests.java @@ -30,6 +30,7 @@ import org.elasticsearch.common.lucene.Lucene; import org.elasticsearch.common.lucene.search.TopDocsAndMaxScore; import org.elasticsearch.common.settings.Settings; +import org.elasticsearch.common.text.Text; import org.elasticsearch.common.util.BigArrays; import org.elasticsearch.common.util.concurrent.AtomicArray; import org.elasticsearch.common.util.concurrent.EsExecutors; @@ -70,7 +71,6 @@ import org.elasticsearch.test.ESTestCase; import org.elasticsearch.threadpool.TestThreadPool; import org.elasticsearch.threadpool.ThreadPool; -import org.elasticsearch.xcontent.Text; import org.junit.After; import org.junit.Before; diff --git a/server/src/test/java/org/elasticsearch/action/search/SearchResponseMergerTests.java b/server/src/test/java/org/elasticsearch/action/search/SearchResponseMergerTests.java index 8cf9428be9d9d..d54ac9c66d9a5 100644 --- a/server/src/test/java/org/elasticsearch/action/search/SearchResponseMergerTests.java +++ b/server/src/test/java/org/elasticsearch/action/search/SearchResponseMergerTests.java @@ -13,6 +13,7 @@ import org.apache.lucene.search.TotalHits; import org.elasticsearch.ElasticsearchException; import org.elasticsearch.action.search.TransportSearchAction.SearchTimeProvider; +import org.elasticsearch.common.text.Text; import org.elasticsearch.common.time.DateFormatter; import org.elasticsearch.core.Tuple; import org.elasticsearch.index.Index; @@ -39,7 +40,6 @@ import org.elasticsearch.test.ESTestCase; import org.elasticsearch.transport.RemoteClusterAware; import org.elasticsearch.transport.RemoteClusterService; -import org.elasticsearch.xcontent.Text; import org.junit.Before; import java.time.ZoneId; diff --git a/server/src/test/java/org/elasticsearch/common/xcontent/BaseXContentTestCase.java b/server/src/test/java/org/elasticsearch/common/xcontent/BaseXContentTestCase.java index 2bb4b8e7f1211..20f33b9f71d19 100644 --- a/server/src/test/java/org/elasticsearch/common/xcontent/BaseXContentTestCase.java +++ b/server/src/test/java/org/elasticsearch/common/xcontent/BaseXContentTestCase.java @@ -16,13 +16,13 @@ import org.elasticsearch.common.bytes.BytesArray; import org.elasticsearch.common.bytes.BytesReference; import org.elasticsearch.common.geo.GeoPoint; +import org.elasticsearch.common.text.Text; import org.elasticsearch.common.unit.DistanceUnit; import org.elasticsearch.core.PathUtils; import org.elasticsearch.test.ESTestCase; import org.elasticsearch.xcontent.NamedObjectNotFoundException; import org.elasticsearch.xcontent.NamedXContentRegistry; import org.elasticsearch.xcontent.ParseField; -import org.elasticsearch.xcontent.Text; import org.elasticsearch.xcontent.ToXContent; import org.elasticsearch.xcontent.ToXContentObject; import org.elasticsearch.xcontent.XContent; @@ -43,7 +43,6 @@ import java.io.IOException; import java.math.BigDecimal; import java.math.BigInteger; -import java.nio.ByteBuffer; import java.nio.charset.StandardCharsets; import java.nio.file.Path; import java.time.DayOfWeek; @@ -377,7 +376,7 @@ public void testText() throws Exception { assertResult("{'text':''}", () -> builder().startObject().field("text", new Text("")).endObject()); assertResult("{'text':'foo bar'}", () -> builder().startObject().field("text", new Text("foo bar")).endObject()); - final var random = ByteBuffer.wrap(randomBytes()); + final BytesReference random = new BytesArray(randomBytes()); XContentBuilder builder = builder().startObject().field("text", new Text(random)).endObject(); try (XContentParser parser = createParser(xcontentType().xContent(), BytesReference.bytes(builder))) { @@ -385,7 +384,7 @@ public void testText() throws Exception { assertSame(parser.nextToken(), Token.FIELD_NAME); assertEquals(parser.currentName(), "text"); assertTrue(parser.nextToken().isValue()); - assertThat(new BytesRef(parser.charBuffer()).utf8ToString(), equalTo(StandardCharsets.UTF_8.decode(random).toString())); + assertThat(new BytesRef(parser.charBuffer()).utf8ToString(), equalTo(random.utf8ToString())); assertSame(parser.nextToken(), Token.END_OBJECT); assertNull(parser.nextToken()); } @@ -591,10 +590,7 @@ public void testObjects() throws Exception { objects.put("{'objects':[1,1,2,3,5,8,13]}", new Object[] { 1L, 1L, 2L, 3L, 5L, 8L, 13L }); objects.put("{'objects':[1,1,2,3,5,8]}", new Object[] { (short) 1, (short) 1, (short) 2, (short) 3, (short) 5, (short) 8 }); objects.put("{'objects':['a','b','c']}", new Object[] { "a", "b", "c" }); - objects.put( - "{'objects':['a','b','c']}", - new Object[] { new Text("a"), new Text(StandardCharsets.UTF_8.encode("b")), new Text("c") } - ); + objects.put("{'objects':['a','b','c']}", new Object[] { new Text("a"), new Text(new BytesArray("b")), new Text("c") }); objects.put("{'objects':null}", null); objects.put("{'objects':[null,null,null]}", new Object[] { null, null, null }); objects.put("{'objects':['OPEN','CLOSE']}", IndexMetadata.State.values()); @@ -640,7 +636,7 @@ public void testObject() throws Exception { object.put("{'object':1}", (short) 1); object.put("{'object':'string'}", "string"); object.put("{'object':'a'}", new Text("a")); - object.put("{'object':'b'}", new Text(StandardCharsets.UTF_8.encode("b"))); + object.put("{'object':'b'}", new Text(new BytesArray("b"))); object.put("{'object':null}", null); object.put("{'object':'OPEN'}", IndexMetadata.State.OPEN); object.put("{'object':'NM'}", DistanceUnit.NAUTICALMILES); diff --git a/server/src/test/java/org/elasticsearch/search/fetch/subphase/highlight/CustomHighlighter.java b/server/src/test/java/org/elasticsearch/search/fetch/subphase/highlight/CustomHighlighter.java index 7e02e005a33cb..64bd5ebf29ba1 100644 --- a/server/src/test/java/org/elasticsearch/search/fetch/subphase/highlight/CustomHighlighter.java +++ b/server/src/test/java/org/elasticsearch/search/fetch/subphase/highlight/CustomHighlighter.java @@ -8,8 +8,8 @@ */ package org.elasticsearch.search.fetch.subphase.highlight; +import org.elasticsearch.common.text.Text; import org.elasticsearch.index.mapper.MappedFieldType; -import org.elasticsearch.xcontent.Text; import java.util.ArrayList; import java.util.List; diff --git a/server/src/test/java/org/elasticsearch/search/fetch/subphase/highlight/HighlightFieldTests.java b/server/src/test/java/org/elasticsearch/search/fetch/subphase/highlight/HighlightFieldTests.java index 5ba535ae8e308..a609a13a87833 100644 --- a/server/src/test/java/org/elasticsearch/search/fetch/subphase/highlight/HighlightFieldTests.java +++ b/server/src/test/java/org/elasticsearch/search/fetch/subphase/highlight/HighlightFieldTests.java @@ -12,9 +12,9 @@ import org.elasticsearch.common.Strings; import org.elasticsearch.common.io.stream.BytesStreamOutput; import org.elasticsearch.common.io.stream.StreamInput; +import org.elasticsearch.common.text.Text; import org.elasticsearch.search.SearchResponseUtils; import org.elasticsearch.test.ESTestCase; -import org.elasticsearch.xcontent.Text; import org.elasticsearch.xcontent.ToXContent; import org.elasticsearch.xcontent.XContentBuilder; import org.elasticsearch.xcontent.XContentFactory; diff --git a/server/src/test/java/org/elasticsearch/search/query/QueryPhaseTimeoutTests.java b/server/src/test/java/org/elasticsearch/search/query/QueryPhaseTimeoutTests.java index e19a85f4f2a0b..35074930d9673 100644 --- a/server/src/test/java/org/elasticsearch/search/query/QueryPhaseTimeoutTests.java +++ b/server/src/test/java/org/elasticsearch/search/query/QueryPhaseTimeoutTests.java @@ -44,6 +44,7 @@ import org.elasticsearch.action.search.SearchRequest; import org.elasticsearch.action.search.SearchShardTask; import org.elasticsearch.common.io.stream.StreamInput; +import org.elasticsearch.common.text.Text; import org.elasticsearch.core.CheckedConsumer; import org.elasticsearch.index.query.MatchAllQueryBuilder; import org.elasticsearch.index.query.ParsedQuery; @@ -60,7 +61,6 @@ import org.elasticsearch.search.suggest.Suggester; import org.elasticsearch.search.suggest.SuggestionSearchContext; import org.elasticsearch.test.TestSearchContext; -import org.elasticsearch.xcontent.Text; import org.hamcrest.Matchers; import org.junit.AfterClass; import org.junit.BeforeClass; diff --git a/server/src/test/java/org/elasticsearch/search/searchafter/SearchAfterBuilderTests.java b/server/src/test/java/org/elasticsearch/search/searchafter/SearchAfterBuilderTests.java index 031b891e49359..c015f93ea8667 100644 --- a/server/src/test/java/org/elasticsearch/search/searchafter/SearchAfterBuilderTests.java +++ b/server/src/test/java/org/elasticsearch/search/searchafter/SearchAfterBuilderTests.java @@ -21,6 +21,7 @@ import org.elasticsearch.common.bytes.BytesReference; import org.elasticsearch.common.geo.GeoPoint; import org.elasticsearch.common.io.stream.NamedWriteableRegistry; +import org.elasticsearch.common.text.Text; import org.elasticsearch.common.util.BigArrays; import org.elasticsearch.index.fielddata.IndexFieldData; import org.elasticsearch.search.DocValueFormat; @@ -29,7 +30,6 @@ import org.elasticsearch.search.sort.SortAndFormats; import org.elasticsearch.search.sort.SortOrder; import org.elasticsearch.test.ESTestCase; -import org.elasticsearch.xcontent.Text; import org.elasticsearch.xcontent.XContent; import org.elasticsearch.xcontent.XContentBuilder; import org.elasticsearch.xcontent.XContentFactory; diff --git a/server/src/test/java/org/elasticsearch/search/suggest/CompletionSuggestionOptionTests.java b/server/src/test/java/org/elasticsearch/search/suggest/CompletionSuggestionOptionTests.java index 6eb8e5659f759..db698af24dcf9 100644 --- a/server/src/test/java/org/elasticsearch/search/suggest/CompletionSuggestionOptionTests.java +++ b/server/src/test/java/org/elasticsearch/search/suggest/CompletionSuggestionOptionTests.java @@ -10,6 +10,7 @@ package org.elasticsearch.search.suggest; import org.elasticsearch.common.bytes.BytesReference; +import org.elasticsearch.common.text.Text; import org.elasticsearch.search.SearchHit; import org.elasticsearch.search.SearchHitTests; import org.elasticsearch.search.SearchResponseUtils; @@ -17,7 +18,6 @@ import org.elasticsearch.search.suggest.completion.CompletionSuggestion.Entry.Option; import org.elasticsearch.test.ESTestCase; import org.elasticsearch.xcontent.ObjectParser; -import org.elasticsearch.xcontent.Text; import org.elasticsearch.xcontent.ToXContent; import org.elasticsearch.xcontent.XContentParser; import org.elasticsearch.xcontent.XContentType; diff --git a/server/src/test/java/org/elasticsearch/search/suggest/SuggestTests.java b/server/src/test/java/org/elasticsearch/search/suggest/SuggestTests.java index f844f77d1dcef..1e50bb67f672b 100644 --- a/server/src/test/java/org/elasticsearch/search/suggest/SuggestTests.java +++ b/server/src/test/java/org/elasticsearch/search/suggest/SuggestTests.java @@ -17,6 +17,7 @@ import org.elasticsearch.common.io.stream.NamedWriteableAwareStreamInput; import org.elasticsearch.common.io.stream.NamedWriteableRegistry; import org.elasticsearch.common.settings.Settings; +import org.elasticsearch.common.text.Text; import org.elasticsearch.core.CheckedFunction; import org.elasticsearch.rest.action.search.RestSearchAction; import org.elasticsearch.search.SearchModule; @@ -32,7 +33,6 @@ import org.elasticsearch.xcontent.NamedXContentRegistry; import org.elasticsearch.xcontent.ObjectParser; import org.elasticsearch.xcontent.ParseField; -import org.elasticsearch.xcontent.Text; import org.elasticsearch.xcontent.ToXContent; import org.elasticsearch.xcontent.XContentBuilder; import org.elasticsearch.xcontent.XContentFactory; diff --git a/server/src/test/java/org/elasticsearch/search/suggest/SuggestionEntryTests.java b/server/src/test/java/org/elasticsearch/search/suggest/SuggestionEntryTests.java index 35fdc837c4b77..585f369bf30a2 100644 --- a/server/src/test/java/org/elasticsearch/search/suggest/SuggestionEntryTests.java +++ b/server/src/test/java/org/elasticsearch/search/suggest/SuggestionEntryTests.java @@ -10,6 +10,7 @@ package org.elasticsearch.search.suggest; import org.elasticsearch.common.bytes.BytesReference; +import org.elasticsearch.common.text.Text; import org.elasticsearch.common.xcontent.XContentHelper; import org.elasticsearch.search.suggest.Suggest.Suggestion.Entry; import org.elasticsearch.search.suggest.Suggest.Suggestion.Entry.Option; @@ -19,7 +20,6 @@ import org.elasticsearch.test.ESTestCase; import org.elasticsearch.xcontent.ObjectParser; import org.elasticsearch.xcontent.ParseField; -import org.elasticsearch.xcontent.Text; import org.elasticsearch.xcontent.ToXContent; import org.elasticsearch.xcontent.XContentParser; import org.elasticsearch.xcontent.XContentType; diff --git a/server/src/test/java/org/elasticsearch/search/suggest/SuggestionOptionTests.java b/server/src/test/java/org/elasticsearch/search/suggest/SuggestionOptionTests.java index 61f5ae38a1df9..96b9d8bb78a5f 100644 --- a/server/src/test/java/org/elasticsearch/search/suggest/SuggestionOptionTests.java +++ b/server/src/test/java/org/elasticsearch/search/suggest/SuggestionOptionTests.java @@ -10,11 +10,11 @@ package org.elasticsearch.search.suggest; import org.elasticsearch.common.bytes.BytesReference; +import org.elasticsearch.common.text.Text; import org.elasticsearch.search.suggest.Suggest.Suggestion.Entry.Option; import org.elasticsearch.search.suggest.phrase.PhraseSuggestion; import org.elasticsearch.test.ESTestCase; import org.elasticsearch.xcontent.ConstructingObjectParser; -import org.elasticsearch.xcontent.Text; import org.elasticsearch.xcontent.ToXContent; import org.elasticsearch.xcontent.XContentParser; import org.elasticsearch.xcontent.XContentType; diff --git a/server/src/test/java/org/elasticsearch/search/suggest/SuggestionTests.java b/server/src/test/java/org/elasticsearch/search/suggest/SuggestionTests.java index ed5d67e4d3a8d..343b89e15f5f4 100644 --- a/server/src/test/java/org/elasticsearch/search/suggest/SuggestionTests.java +++ b/server/src/test/java/org/elasticsearch/search/suggest/SuggestionTests.java @@ -10,6 +10,7 @@ package org.elasticsearch.search.suggest; import org.elasticsearch.common.bytes.BytesReference; +import org.elasticsearch.common.text.Text; import org.elasticsearch.rest.action.search.RestSearchAction; import org.elasticsearch.search.SearchResponseUtils; import org.elasticsearch.search.suggest.Suggest.Suggestion; @@ -21,7 +22,6 @@ import org.elasticsearch.test.ESTestCase; import org.elasticsearch.xcontent.NamedObjectNotFoundException; import org.elasticsearch.xcontent.NamedXContentRegistry; -import org.elasticsearch.xcontent.Text; import org.elasticsearch.xcontent.ToXContent; import org.elasticsearch.xcontent.XContent; import org.elasticsearch.xcontent.XContentParser; diff --git a/server/src/test/java/org/elasticsearch/search/suggest/TermSuggestionOptionTests.java b/server/src/test/java/org/elasticsearch/search/suggest/TermSuggestionOptionTests.java index 915b1b5127baf..22bee11cea012 100644 --- a/server/src/test/java/org/elasticsearch/search/suggest/TermSuggestionOptionTests.java +++ b/server/src/test/java/org/elasticsearch/search/suggest/TermSuggestionOptionTests.java @@ -10,11 +10,11 @@ package org.elasticsearch.search.suggest; import org.elasticsearch.common.bytes.BytesReference; +import org.elasticsearch.common.text.Text; import org.elasticsearch.search.suggest.term.TermSuggestion; import org.elasticsearch.search.suggest.term.TermSuggestion.Entry.Option; import org.elasticsearch.test.ESTestCase; import org.elasticsearch.xcontent.ConstructingObjectParser; -import org.elasticsearch.xcontent.Text; import org.elasticsearch.xcontent.ToXContent; import org.elasticsearch.xcontent.XContentParser; import org.elasticsearch.xcontent.XContentType; diff --git a/server/src/test/java/org/elasticsearch/search/suggest/completion/CompletionSuggestionTests.java b/server/src/test/java/org/elasticsearch/search/suggest/completion/CompletionSuggestionTests.java index cbaf847a9ff91..3877e382d72ed 100644 --- a/server/src/test/java/org/elasticsearch/search/suggest/completion/CompletionSuggestionTests.java +++ b/server/src/test/java/org/elasticsearch/search/suggest/completion/CompletionSuggestionTests.java @@ -9,9 +9,9 @@ package org.elasticsearch.search.suggest.completion; +import org.elasticsearch.common.text.Text; import org.elasticsearch.search.suggest.Suggest; import org.elasticsearch.test.ESTestCase; -import org.elasticsearch.xcontent.Text; import java.util.ArrayList; import java.util.Collections; diff --git a/test/framework/src/main/java/org/elasticsearch/search/RandomSearchRequestGenerator.java b/test/framework/src/main/java/org/elasticsearch/search/RandomSearchRequestGenerator.java index e10a20d062c5a..6e8cf735983aa 100644 --- a/test/framework/src/main/java/org/elasticsearch/search/RandomSearchRequestGenerator.java +++ b/test/framework/src/main/java/org/elasticsearch/search/RandomSearchRequestGenerator.java @@ -14,6 +14,7 @@ import org.elasticsearch.action.support.IndicesOptions; import org.elasticsearch.common.bytes.BytesArray; import org.elasticsearch.common.bytes.BytesReference; +import org.elasticsearch.common.text.Text; import org.elasticsearch.common.xcontent.XContentHelper; import org.elasticsearch.core.TimeValue; import org.elasticsearch.index.query.QueryBuilders; @@ -37,7 +38,6 @@ import org.elasticsearch.search.vectors.KnnSearchBuilder; import org.elasticsearch.search.vectors.RescoreVectorBuilder; import org.elasticsearch.test.AbstractQueryTestCase; -import org.elasticsearch.xcontent.Text; import org.elasticsearch.xcontent.XContentBuilder; import org.elasticsearch.xcontent.XContentFactory; import org.elasticsearch.xcontent.XContentParser; diff --git a/test/framework/src/main/java/org/elasticsearch/search/SearchResponseUtils.java b/test/framework/src/main/java/org/elasticsearch/search/SearchResponseUtils.java index de94a81eb00c1..0321550736660 100644 --- a/test/framework/src/main/java/org/elasticsearch/search/SearchResponseUtils.java +++ b/test/framework/src/main/java/org/elasticsearch/search/SearchResponseUtils.java @@ -24,6 +24,7 @@ import org.elasticsearch.common.bytes.BytesReference; import org.elasticsearch.common.document.DocumentField; import org.elasticsearch.common.lucene.Lucene; +import org.elasticsearch.common.text.Text; import org.elasticsearch.common.util.concurrent.ConcurrentCollections; import org.elasticsearch.common.xcontent.XContentParserUtils; import org.elasticsearch.core.RefCounted; @@ -54,7 +55,6 @@ import org.elasticsearch.xcontent.InstantiatingObjectParser; import org.elasticsearch.xcontent.ObjectParser; import org.elasticsearch.xcontent.ParseField; -import org.elasticsearch.xcontent.Text; import org.elasticsearch.xcontent.XContentBuilder; import org.elasticsearch.xcontent.XContentParser; diff --git a/test/framework/src/main/java/org/elasticsearch/search/fetch/HighlighterTestCase.java b/test/framework/src/main/java/org/elasticsearch/search/fetch/HighlighterTestCase.java index 72417f5e61b27..5fd3ead5bf816 100644 --- a/test/framework/src/main/java/org/elasticsearch/search/fetch/HighlighterTestCase.java +++ b/test/framework/src/main/java/org/elasticsearch/search/fetch/HighlighterTestCase.java @@ -15,6 +15,7 @@ import org.apache.lucene.index.IndexableField; import org.apache.lucene.index.LeafReader; import org.apache.lucene.index.StoredFields; +import org.elasticsearch.common.text.Text; import org.elasticsearch.index.mapper.MapperService; import org.elasticsearch.index.mapper.MapperServiceTestCase; import org.elasticsearch.index.mapper.ParsedDocument; @@ -29,7 +30,6 @@ import org.elasticsearch.search.fetch.subphase.highlight.Highlighter; import org.elasticsearch.search.fetch.subphase.highlight.PlainHighlighter; import org.elasticsearch.search.lookup.Source; -import org.elasticsearch.xcontent.Text; import java.io.IOException; import java.util.ArrayList; diff --git a/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/highlight/SemanticTextHighlighter.java b/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/highlight/SemanticTextHighlighter.java index a0d1a4a85ddd2..ae8997dd8c1f0 100644 --- a/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/highlight/SemanticTextHighlighter.java +++ b/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/highlight/SemanticTextHighlighter.java @@ -20,6 +20,7 @@ import org.apache.lucene.search.ScoreMode; import org.apache.lucene.search.Scorer; import org.apache.lucene.search.Weight; +import org.elasticsearch.common.text.Text; import org.elasticsearch.common.xcontent.support.XContentMapValues; import org.elasticsearch.index.mapper.MappedFieldType; import org.elasticsearch.index.mapper.vectors.DenseVectorFieldMapper.DenseVectorFieldType; @@ -32,7 +33,6 @@ import org.elasticsearch.search.fetch.subphase.highlight.HighlightUtils; import org.elasticsearch.search.fetch.subphase.highlight.Highlighter; import org.elasticsearch.search.vectors.VectorData; -import org.elasticsearch.xcontent.Text; import org.elasticsearch.xpack.core.ml.search.SparseVectorQueryWrapper; import org.elasticsearch.xpack.inference.mapper.OffsetSourceField; import org.elasticsearch.xpack.inference.mapper.OffsetSourceFieldMapper;