Transport client has been movededit
The Java transport client has been moved to its own module which can be referenced using:
Java transport client는 다음을 사용하여 참조할 수 있는 자체 module로 옮겨졌다.
<dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>transport</artifactId> <version>5.0.0</version> </dependency>
The transport client is now created using the following snippet:
이제 transport client는 다음 code를 이용하여 생성한다.
TransportClient client = new PreBuiltTransportClient(Settings.EMPTY) .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("host1"), 9300)) .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("host2"), 9300));
For more information please see the Java client documentation
더 자세한 정보는 Java client documentation를 참조하자.
Count api has been removededit
The deprecated count api has been removed from the Java api, use the search api instead and set size to 0.
deprecate된 count api는 Java API에서 제거되었고, 대신 size를 0으로 설정한 search API를 사용하자.
The following call
다음 호출은
client.prepareCount(indices).setQuery(query).get();
can be replaced with
아래로 대채될 수 있다.
client.prepareSearch(indices).setSource(new SearchSourceBuilder().size(0).query(query)).get();
Suggest api has been removededit
The suggest api has been removed from the Java api, use the suggest option in search api, it has been optimized for suggest-only request.
suggest api는 Java API에서 제거되었고, search API의 suggest option을 사용하자. 이것은 suggest 전용 request에 맞게 최적화되었다.
The following call
다음 호출은
client.prepareSuggest(indices).addSuggestion("foo", SuggestBuilders.completionSuggestion("field").text("s")).get();
can be replaced with
아래로 대채될 수 있다.
client.prepareSearch(indices).suggest(new SuggestBuilder().addSuggestion("foo", SuggestBuilders.completionSuggestion("field").text("s"))).get();
Elasticsearch will no longer detect logging implementationsedit
Elasticsearch now logs using Log4j 2. Previously if Log4j wasn’t on the classpath it made some effort to degrade to SLF4J or Java logging. Now it will fail to work without the Log4j 2 API. The log4j-over-slf4j bridge ought to work when using the Java client. The log4j-1.2-api bridge is used for third-party dependencies that still use the Log4j 1 API. The Elasticsearch server now only supports Log4j 2 as configured by log4j2.properties
and will fail if Log4j isn’t present.
Elasticsearch는 이제 Log4j 2를 사용하여 log를 기록한다. 이전에는 Log4j가 classpath에 없으면, SLF4J 또는 Java logging을 사용하여 성능이 저하되었다. 이제는 Log4j 2 API 없이는 동작하지 않는다. log4j-over-slf4j bridge는 Java client를 사용할 경우 동작해야 한다. log4j-1.2-api bridge는 여전히 Log4j 1 API를 사용하는 third-party dependency에 사용된다. Elasticsearch server는 이제 log4j2.properties
에 의해 설정된 Log4j 2 만을 지원하며, Log4j가 없으면 실패합니다.
Groovy dependenciesedit
In previous versions of Elasticsearch, the Groovy scripting capabilities depended on the org.codehaus.groovy:groovy-all
artifact. In addition to pulling in the Groovy language, this pulls in a very large set of functionality, none of which is needed for scripting within Elasticsearch. Aside from the inherent difficulties in managing such a large set of dependencies, this also increases the surface area for security issues. This dependency has been reduced to the core Groovy language org.codehaus.groovy:groovy
artifact.
이전 버전의 Elasticsearch에서, Groovy script 기능은 org.codehaus.groovy:groovy-all
artifact에 의존했다. Groovy 언어가 들어오면서, 이는 매우 많은 기능 집합이 들어오게 되는데, 이중 어느 것도 Elasticsearch 내에서 script를 작성하는 데 필요지 않다. 이와 같은 대규모 종속성을 관리하는 고유한 어려움 외에도, 보안 문제에 대한 노출 영역도 증가한다. 이 의존성은 핵심 Groovy 언어 org.codehaus.groovy:groovy
artifact로 축소되었다.
DocumentAlreadyExistsException removededit
DocumentAlreadyExistsException
is removed and a VersionConflictEngineException
is thrown instead (with a better error description). This will influence code that use the IndexRequest.opType()
or IndexRequest.create()
to index a document only if it doesn’t already exist.
DocumentAlreadyExistsException
이 제거되고 대신 VersionConflictEngineException
이 발생한다.(더 나은 error 설명과 함께). 이것은 아직 존재하지 않는 document를 index하기 위해, IndexRequest.opType()
또는 IndexRequest.create()
를 사용하는 code에 영향을 미친다.
writeConsistencyLevel removed on write requestsedit
In previous versions of Elasticsearch, the various write requests had a setWriteConsistencyLevel
method to set the shard consistency level for write operations. However, the semantics of write consistency were ambiguous as this is just a pre-operation check to ensure the specified number of shards were available before the operation commenced. The write consistency level did not guarantee that the data would be replicated to those number of copies by the time the operation finished. The setWriteConsistencyLevel
method on these write requests has been changed to setWaitForActiveShards
, which can take a numerical value up to the total number of shard copies orActiveShardCount.ALL
for all shard copies. The default is to just wait for the primary shard to be active before proceeding with the operation. See the section on wait for active shards for more details.
이전 버전의 Elasticsearch에서는, write request는 write 연산에 대한 shard consistency level을 설정하는 setWriteConsistencyLevel
method를 가지고 있었다. 그러나 write consistency의 의미는 연산이 시작되기 전에 지정된 개수의 shard가 사용 가능하게 되었는지를 확인하기 위한 사전 작업 검사일뿐이어서 모호했다. write consistency level은 연산이 완료될 때까지 데이터가 해당 복사본의 수로 replicate되는 것을 보증하지 않는다. 이들 write request에 대한 setWriteConsistencyLevel
method는setWaitForActiveShards
로 변경되었다. 이 값은 모든 shard 복사본에 대한 shard 복사본의 총 수나ActiveShardCount.ALL
까지 숫자 값을 가질 수 있다. 기본값은 연산을 진행하기 전에 primary shard가 활성화 될 때까지 기다리는 것이다. 자세한 내용은 wait for active shards section을 참조하자.
This change affects IndexRequest
, IndexRequestBuilder
, BulkRequest
, BulkRequestBuilder
, UpdateRequest
, UpdateRequestBuilder
, DeleteRequest
, and DeleteRequestBuilder
.
이 변경은 IndexRequest
, IndexRequestBuilder
, BulkRequest
, BulkRequestBuilder
, UpdateRequest
, UpdateRequestBuilder
, DeleteRequest
, DeleteRequestBuilder
에 영향을 미친다.
Changes to Query Buildersedit
BoostingQueryBuilderedit
Removed setters for mandatory positive/negative query. Both arguments now have to be supplied at construction time already and have to be non-null.
필수적인 positive/negative query에 대한 setter를 제거했다. 두 argument는 모두 이미 생성 시에 제공되어야 하며 null이 아니어야 한다.
SpanContainingQueryBuilderedit
Removed setters for mandatory big/little inner span queries. Both arguments now have to be supplied at construction time already and have to be non-null. Updated static factory methods in QueryBuilders accordingly.
필수적인 big/little inner span query에 대한 setter가 제거되었다. 두 argument는 모두 생성 시에 이미 제공되어야 하며 null이 아니어야 한다. 그에 따라 QueryBuilder의 static factory method가 업데이트 되었다.
SpanOrQueryBuilderedit
Making sure that query contains at least one clause by making initial clause mandatory in constructor. Renaming method to add clauses from clause(SpanQueryBuilder)
to addClause(SpanQueryBuilder)
.
constructor에서 initial 절을 필수로 만들어, query에 하나 이상의 절이 포함되어 있는지 확인한다. 절을 추가하기 위해 clause(SpanQueryBuilder)
가 addClause(SpanQueryBuilder)
로 이름이 변경되었다.
SpanNearQueryBuilderedit
Removed setter for mandatory slop parameter, needs to be set in constructor now. Also making sure that query contains at least one clause by making initial clause mandatory in constructor. Updated the static factory methods in QueryBuilders accordingly. Renaming method to add clauses from clause(SpanQueryBuilder)
to addClause(SpanQueryBuilder)
.
필수적인 slop parameter에 대한 setter가 제거되었다. 이제 constructor에서 설정해야 한다. 또한 constructor에서 initial 절을 필수로 지정하여, query에 하나 이상의 절이 포함되어 있는지 확인한다. 그에 따라 QueryBuilder의 static factory method가 업데이트되었다. 절을 추가하기 위해 clause(SpanQueryBuilder)
가 addClause(SpanQueryBuilder)
로 이름이 변경되었다.
SpanNotQueryBuilderedit
Removed setter for mandatory include/exclude span query clause, needs to be set in constructor now. Updated the static factory methods in QueryBuilders and tests accordingly.
필수적인 include/exclude span query에 대한 setter가 제거되었다. 이제 constructor에서 설정해야 한다. 그에 따라 QueryBuilder의 static factory method가 업데이트되었다.
SpanWithinQueryBuilderedit
Removed setters for mandatory big/little inner span queries. Both arguments now have to be supplied at construction time already and have to be non-null. Updated static factory methods in QueryBuilders accordingly.
필수적인 big/little inner span query에 setter가 제거되었다. 두 인수는 모두 생성시에 이미 제공되어야 하며 null이 아니어야 한다. 그에 따라 QueryBuilder의 static factory method가 업데이트되었다.
WrapperQueryBuilderedit
Removed wrapperQueryBuilder(byte[] source, int offset, int length)
. Instead simply usewrapperQueryBuilder(byte[] source)
. Updated the static factory methods in QueryBuilders accordingly.
wrapperQueryBuilder(byte[] source, int offset, int length)
가 제거되엇다. 대신 간단한 wrapperQueryBuilder(byte[] source)
를 사용하자. 그에 따라 QueryBuilder의 static factory method가 업데이트되었다.
QueryStringQueryBuilderedit
Removed ability to pass in boost value using field(String field)
method in form e.g. field^2
. Use the field(String, float)
method instead.
예를 들어, field^2
형식에서, field(String field)
method를 사용하여 boost 값을 전달하는 기능이 제거되었다. 대신 field(String, float)
method를 사용하자.
Operatoredit
Removed the enums called Operator
from MatchQueryBuilder
, QueryStringQueryBuilder
,SimpleQueryStringBuilder
, and CommonTermsQueryBuilder
in favour of using the enum defined in org.elasticsearch.index.query.Operator
in an effort to consolidate the codebase and avoid duplication.
codebase 통합과 중복을 피하기 위하여, org.elasticsearch.index.query.Operator
에 정의된 enum의 사용을 위하여, MatchQueryBuilder
, QueryStringQueryBuilder
, SimpleQueryStringBuilder
,CommonTermsQueryBuilder
에서 Operator
라는 enum이 제거되었다.
queryName and boost supportedit
Support for queryName
and boost
has been streamlined to all of the queries. That is a breaking change till queries get sent over the network as serialized json rather than in Streamable
format. In fact whenever additional fields are added to the json representation of the query, older nodes might throw error when they find unknown fields.
queryName
과 boost
에 대한 지원은 모든 query에 대해 간소화되었다. query가 Streamable 형식 보다는 직렬화된 json으로 network를 통해 전송될 때까지는 큰 변화이다. 사실 추가 field가 query의 json 표현에 추가될 때마다 기존 node는 알 수 없는 field를 찾을 때 오류가 발생할 수 있다.
InnerHitsBuilderedit
InnerHitsBuilder now has a dedicated addParentChildInnerHits and addNestedInnerHits methods to differentiate between inner hits for nested vs. parent / child documents. This change makes the type / path parameter mandatory.
이제 InnerHitsBuilder
는 nested document 대 parent/child document에 대한 inner hit를 구별하기 위한. 전용 addParentChildInnerHits
및 addNestedInnerHits
method를 가진다. 이 변경으로 type, path parameter는 필수가 되었다.
MatchQueryBuilderedit
Moving MatchQueryBuilder.Type and MatchQueryBuilder.ZeroTermsQuery enum to MatchQuery.Type. Also reusing new Operator enum.
MatchQueryBuilder.Type
및 MatchQueryBuilder.ZeroTermsQuery
enum은 MatchQuery.Type
으로 옮겨졌다. 또한 새로운 Operator
enum을 재사용한다.
MoreLikeThisQueryBuilderedit
Removed MoreLikeThisQueryBuilder.Item#id(String id)
, Item#doc(BytesReference doc)
,Item#doc(XContentBuilder doc)
. Use provided constructors instead.
MoreLikeThisQueryBuilder.Item#id(String id)
, Item#doc(BytesReference doc)
,Item#doc(XContentBuilder doc)
이 제거되었다. 대신 제공된 constructor를 사용하자.
Removed MoreLikeThisQueryBuilder#addLike
in favor of texts and/or items being provided at construction time. Using arrays there instead of lists now.
생성 시에 제공되는 texts and/or item을 위하여, MoreLikeThisQueryBuilder#addLike
가 제거되었다. 이제 list 대신 거기에 array를 사용하자.
Removed MoreLikeThisQueryBuilder#addUnlike
in favor to using the unlike
methods which take arrays as arguments now rather than the lists used before.
이전에 사용된 list가 아닌 array를 argument로 가지는, unlike
method를 사용하기 위하여MoreLikeThisQueryBuilder#addUnlike
를 제거했다.
The deprecated docs(Item... docs)
, ignoreLike(Item... docs)
, ignoreLike(String... likeText)
, addItem(Item... likeItems)
have been removed.
deprecate된 docs(Item... docs)
, ignoreLike(Item... docs)
, ignoreLike(String... likeText)
, addItem(Item... likeItems)
는 제거되었다.
GeoDistanceQueryBuilderedit
Removing individual setters for lon() and lat() values, both values should be set together using point(lon, lat).
lon()
과 lat()
값에 대한 setter가 제거되었고, 두 값은 모두 point(lon, lat)
로 설정해야 한다.
GeoDistanceRangeQueryBuilderedit
Removing setters for to(Object …) and from(Object …) in favour of the only two allowed input arguments (String, Number). Removing setter for center point (point(), geohash()) because parameter is mandatory and should already be set in constructor. Also removing setters for lt(), lte(), gt(), gte() since they can all be replaced by equivalent calls to to/from() and includeLower()/includeUpper().
2개의 argument를 가지는 (String, Number)
를 위하여, to (Object ...)
와 from (Object ...)
에 대한 setter를 제거한다. center point(point (), geohash ())
대한 setter는 제거한다. 왜냐하면, parameter는 필수이며, constructor에 이미 설정되어 있어야 하기 때문이다. 또한, lt()
, lte()
, gt()
, gte()
에 대한 settier가 제거된다. 왜냐하면 그것들은 to/from()
, includeLower()/includeUpper()
를 호츨하는 것으로 동일하게 대체될 수 있기 때문이다.
GeoPolygonQueryBuilderedit
Require shell of polygon already to be specified in constructor instead of adding it pointwise. This enables validation, but makes it necessary to remove the addPoint() methods.
점(pointwise)으로 추가하는 대신, constructor에 이미 지정된 polygon의 shell이 필요하다. 이렇게 하면 유효성 검사가 가능하지만 addPoint()
method를 제거해야 한다.
MultiMatchQueryBuilderedit
Moving MultiMatchQueryBuilder.ZeroTermsQuery enum to MatchQuery.ZeroTermsQuery. Also reusing new Operator enum.
MultiMatchQueryBuilder.ZeroTermsQuery
enum은 MatchQuery.ZeroTermsQuery
로 옮겨진다. 또한 새로운 Operator
enum을 재사용한다.
Removed ability to pass in boost value using field(String field)
method in form e.g. field^2
. Use the field(String, float)
method instead.
예를 들어, field^2
형식에서, field(String field)
method를 사용하여 boost 값을 전달하는 기능이 제거되었다. 대신 field(String, float)
를 사용하자.
MissingQueryBuilderedit
The MissingQueryBuilder which was deprecated in 2.2.0 is removed. As a replacement use ExistsQueryBuilder inside a mustNot() clause. So instead of using new MissingQueryBuilder(name)
now use new BoolQueryBuilder().mustNot(new ExistsQueryBuilder(name))
.
2.2.0 에서 deprecate된 MissingQueryBuilder
가 제거되었다. 대체품으로 ExistsQueryBuilder
를 mustNot()
절 안에 사용하자. 그래서 new MissingQueryBuilder(name)
대신 new BoolQueryBuilder().mustNot(new ExistsQueryBuilder(name))
를 사용하자.
NotQueryBuilderedit
The NotQueryBuilder which was deprecated in 2.1.0 is removed. As a replacement use BoolQueryBuilder with added mustNot() clause. So instead of using new NotQueryBuilder(filter)
now use new BoolQueryBuilder().mustNot(filter)
.
2.1.0 에서 deprecate된 NotQueryBuilder
가 제거되었다. 대체품으로 BoolQueryBuilder
를 mustNot()
절 안에 사용하자. 그래서 new NotQueryBuilder(filter)
를 사용하는 대신 new BoolQueryBuilder().mustNot(filter)
를 사용하자.
TermsQueryBuilderedit
Remove the setter for termsLookup()
, making it only possible to either use a TermsLookup object or individual values at construction time. Also moving individual settings for the TermsLookup (lookupIndex, lookupType, lookupId, lookupPath) to the separate TermsLookup class, using constructor only and moving checks for validation there. Removed TermsLookupQueryBuilder
in favour of TermsQueryBuilder
.
termsLookup()
에 대한 setter를 제거하면, 생성 시에 TermsLookup
객체 또는 개별 값을 사용하는 것만 가능하다. 또한 TermsLookup(lookupIndex, lookupType, lookupId, lookupPath)
에 대한 개별 설정은 별도의 TermsLookup
class로 옮겨진다. constructor만 사용하고 거기에서 유효성 검사를 위해 옮겨진다.TermsQueryBuilder
를 위해 TermsLookupQueryBuilder
를 제거했다.
FunctionScoreQueryBuilderedit
add
methods have been removed, all filters and functions must be provided as constructor arguments by creating an array of FunctionScoreQueryBuilder.FilterFunctionBuilder
objects, containing one element for each filter/function pair.
add
method는 제거되었다. 모든 filter와 function은 각 filter/function 쌍을 하나의 요소로 가진,FunctionScoreQueryBuilder.FilterFunctionBuilder
object를 생성함으로써 constructor의 argument로써 제공되어야 한다.
scoreMode
and boostMode
can only be provided using corresponding enum members instead of string values: see FilterFunctionScoreQuery.ScoreMode
and CombineFunction
.
scoreMode
와 boostMode
는 문자열 값 대신에 대응하는 enum 멤버를 사용해서만 제공될 수 있다FilterFunctionScoreQuery.ScoreMode
와 CombineFunction
를 참고하자.
CombineFunction.MULT
has been renamed to MULTIPLY
.
CombineFunction.MULT
는 MULTIPLY
로 이름이 변경되었다.
IdsQueryBuilderedit
For simplicity, only one way of adding the ids to the existing list (empty by default) is left: addIds(String...)
간단하게하기 위해, 기본값은 비어있는 기존 list에 ID를 추가하는 한 가지 방법만 남았다. addIds(String ...)
ShapeBuildersedit
InternalLineStringBuilder
is removed in favour of LineStringBuilder
, InternalPolygonBuilder
in favour of PolygonBuilder` and Ring
has been replaced with LineStringBuilder
. Also the abstract base classes BaseLineStringBuilder
and BasePolygonBuilder
haven been merged with their corresponding implementations.
LineStringBuilder
를 위하야 InternalLineStringBuilder
는 제거되었다. PolygonBuilder
를 위하여 InternalPolygonBuilder
와 Ring
은 LineStringBuilder
로 대체되었다. 또한 abstract base class인 BaseLineStringBuilder
와 BasePolygonBuilder
는 해당 구현과 병합되었다.
RescoreBuilderedit
RecoreBuilder.Rescorer
was merged with RescoreBuilder
, which now is an abstract superclass. QueryRescoreBuilder currently is its only implementation.
RecoreBuilder.Rescorer
는 이제 abstract superclass인 RescoreBuilder
와 병합되었다. QueryRescoreBuilder
는 현재 유일한 구현입니다.
PhraseSuggestionBuilderedit
The inner DirectCandidateGenerator class has been moved out to its own class called DirectCandidateGeneratorBuilder.
inner DirectCandidateGenerator
class는 DirectCandidateGeneratorBuilder
라는 자체 class로 옮겨졌다.
SortBuildersedit
The sortMode
setter in FieldSortBuilder
, GeoDistanceSortBuilder
and ScriptSortBuilder
now accept a SortMode
enum instead of a String constant. Also the getter returns the same enum type.
FieldSortBuilder
, GeoDistanceSortBuilder
, ScriptSortBuilder
의 sortMode
setter는 이제 String 상수 대신 SortMode
enum을 받는다. 또한 getter는 동일한 enum type을 반환한다.
SuggestBuilderedit
The setText
method has been changed to setGlobalText
to make the intent more clear, and a getGlobalText
method has been added.
setText
method가 의도를 보다 명확하게 하기 위해 setGlobalText
로 변경되었고 getGlobalText
method가 추가되었다.
The addSuggestion
method now required the user specified suggestion name, previously used in the ctor of each suggestion.
이제는 addSuggestion
method가 사용자가 지정한 suggestion 이름을 필요로 한다. 이전에는 각 suggestion의 ctor에 사용되었다.
SuggestionBuilderedit
The field
setter has been deleted. Instead the field name needs to be specified as constructor argument.
field
setter는 삭제되었다. 대신 field 이름은 constructor argument로 지정되어야 한다.
SearchSourceBuilderedit
All methods which take an XContentBuilder
, BytesReference
Map<String, Object>
or bytes[]
have been removed in favor of providing the relevant builder object for that feature (e.g. HighlightBuilder
, AggregationBuilder
, SuggestBuilder
) . This means that all search requests can now be validated at call time which results in much clearer errors.
XContentBuilder
, BytesReference
Map<String, Object>
또는 bytes[]
를 가지는 모든 method는 해당 기능을 위한 관련 builder object를 제공하기 위해 제거되었다(예: HighlightBuilder
, AggregationBuilder
, SuggestBuilder
). 즉, 호출 시에 모든 search request을 검증할 수 있으므로 오류가 훨씬 명확해 진다.
The defaultResourceWindowSize(int)
method has been removed. The window size should be set explicitly on all RescoreBuilder
objects.
defaultResourceWindowSize(int)
method가 제거되었다. window size는 모든 RescoreBuilder
object에 명시적으로 설정되어야 한다.
SearchRequestBuilderedit
All methods which take an XContentBuilder
, BytesReference
Map<String, Object>
or bytes[]
have been removed in favor of providing the relevant builder object for that feature (e.g. HighlightBuilder
, AggregationBuilder
, SuggestBuilder
) . This means that all search requests can now be validated at call time which results in much clearer errors.
XContentBuilder
, BytesReference
Map<String, Object>
또는 bytes[]
를 가지는 모든 method는 해당 기능을 위한 관련 builder object를 제공하기 위해 제거되었다(예: HighlightBuilder
, AggregationBuilder
, SuggestBuilder
). 즉, 호출 시에 모든 search request을 검증할 수 있으므로 오류가 훨씬 명확해 진다.
All highlighter methods have been removed in favor of a single highlighter(HighlightBuilder)
method.
highlighter(HighlightBuilder)
method를 위하여 모든 highlighter method가 제거되었다.
The setExtraSource(SearchSourceBuilder)
method has been removed.
setExtraSource(SearchSourceBuilder)
method가 제거되었다.
The setTemplateSource(String)
and setTemplateSource(BytesReference)
methods have been removed. Use setTemplate(Template)
instead.
setTemplateSource(String)
, setTemplateSource(BytesReference)
method가 제거되었다. 대신 setTemplate(Template)
를 사용하자.
setRescorer(Rescorer)
and setRescorer(Rescorer, int)
have been removed in favor of setRescorer(RescoreBuilder)
and setRescorer(RescoreBuilder, int)
setRescorer(RescoreBuilder)
, setRescorer(RescoreBuilder, int)
를 위하여 setRescorer(Rescorer)
, setRescorer(Rescorer, int)
가 제거되었다.
SearchRequestedit
All source
methods have been removed in favor of a single source(SearchSourceBuilder)
method. This means that all search requests can now be validated at call time which results in much clearer errors.
단일 source(SearchSourceBuilder)
method를 위하여 모든 source
method가 제거되었다. 이제 호출 시에 모든 search request을 검증할 수 있으므로 오류가 훨씬 명확해 진다.
All extraSource
methods have been removed.
모든 extraSource
method는 제거되었다.
All template
methods have been removed in favor of a new Search Template API. A new SearchTemplateRequest
now accepts a template and a SearchRequest
and must be executed using the new SearchTemplateAction
action.
새로운 Search Template API를 위하여 모든 template
method는 제거되었다. 이제 새로운 SearchTemplateRequest
은 template과 SearchRequest
을 가지고, 새로운 SearchTemplateAction
action을 사용한다.
SearchResponseedit
Sort values for string
fields are now return as java.lang.String
objects rather than org.elasticsearch.common.text.Text
.
이제 string
field에 대한 정렬 값은 org.elasticsearch.common.text.Text
가 아닌 java.lang.String
object를 반환한다.
AggregationBuilderedit
All methods which take an XContentBuilder
, BytesReference
Map<String, Object>
or bytes[]
have been removed in favor of providing the relevant builder object (i.e. subAggregation(AggregationBuilder)
or subAggregation(PipelineAggregationBuilder)
). This means that all requests can now be validated at call time which results in much clearer errors.
XContentBuilder
, BytesReference
Map<String, Object>
또는 bytes[]
를 가지는 모든 method는 관련 builder object를 제공하기 위해 제거되었다(예: subAggregation(AggregationBuilder)
or subAggregation(PipelineAggregationBuilder)
). 즉, 호출 시에 모든 search request을 검증할 수 있으므로 오류가 훨씬 명확해 진다.
ValidateQueryRequestedit
source(QuerySourceBuilder)
, source(Map)
, source(XContentBuilder)
, source(String)
, source(byte[])
, source(byte[], int, int)
, source(BytesReference)
and source()
have been removed in favor of using query(QueryBuilder)
and query()
query(QueryBuilder)
와 query()
를 사용하기 위하여 source(QuerySourceBuilder)
, source(Map)
, source(XContentBuilder)
, source(String)
, source(byte[])
, source(byte[], int, int)
, source(BytesReference)
, source()
가 제거되었다.
ValidateQueryRequestBuilderedit
setSource()
methods have been removed in favor of using setQuery(QueryBuilder)
setQuery(QueryBuilder)
를 사용하기 위하여 setSource()
method가 제거되었다.
ExplainRequestedit
source(QuerySourceBuilder)
, source(Map)
, source(BytesReference)
and source()
have been removed in favor of using query(QueryBuilder)
and query()
query(QueryBuilder)
와 query()
를 사용하기 위하여 source(QuerySourceBuilder)
, source(Map)
, source(BytesReference)
, source()
가 제거되었다.
ExplainRequestBuilderedit
The setQuery(BytesReference)
method have been removed in favor of using setQuery(QueryBuilder)
setQuery(QueryBuilder)
를 사용하기 위하여 setQuery(BytesReference)
method가 제거되었다.
ClusterStatsResponseedit
Removed the getMemoryAvailable
method from OsStats
, which could be previously accessed callingclusterStatsResponse.getNodesStats().getOs().getMemoryAvailable()
. It is now replaced withclusterStatsResponse.getNodesStats().getOs().getMem()
which exposes getTotal()
, getFree()
,getUsed()
, getFreePercent()
and getUsedPercent()
.
OsStats
에서 getMemoryAvailable
method가 제거되었다. 이전에 이것은clusterStatsResponse.getNodesStats().getOs().getMemoryAvailable()
를 호출하면서 access될 수 있었다. 이제 getTotal()
, getFree()
, getUsed()
, getFreePercent()
, getUsedPercent()
를 가지는clusterStatsResponse.getNodesStats().getOs().getMem()
로 대체되었다.
setRefresh(boolean) has been removededit
setRefresh(boolean)
has been removed in favor of setRefreshPolicy(RefreshPolicy)
because there are now three options (NONE, IMMEDIATE, and WAIT_FOR). setRefresh(IMMEDIATE)
has the same behavior as setRefresh(true)
used to have. See setRefreshPolicy
's javadoc for more.
setRefreshPolicy(RefreshPolicy)
를 위하여 setRefresh(boolean)
는 제거되었다. 왜냐하면 이제 3개의 option(NONE
, IMMEDIATE
, WAIT_FOR
)이 있기 때문이다. setRefresh (IMMEDIATE)
는 setRefresh (true)
와 동일한 동작을 한다. 자세한 것은 setRefreshPolicy
의 javadoc을 보자.
Remove properties supportedit
Some Java APIs (e.g., IndicesAdminClient#setSettings
) would support Java properties syntax (line-delimited key=value pairs). This support has been removed.
일부 Java API(예: IndicesAdminClient#setSettings
)는 Java property 구문을 지원합니다 (line으로 구분된 key=value 쌍). 이 지원은 제거되었다.
Render Search Template Java API has been removededit
The Render Search Template Java API including RenderSearchTemplateAction
, RenderSearchTemplateRequest
and RenderSearchTemplateResponse
has been removed in favor of a new simulate
option in the Search Template Java API. This Search Template API is now included in the lang-mustache
module and the simulate
flag must be set on the SearchTemplateRequest
object.
RenderSearchTemplateAction
, RenderSearchTemplateRequest
및 RenderSearchTemplateResponse
를 포함하는 Render Search Template Java API는 Search Template Java API의 새로운 simulate
option을 위해 제거되었다. 이 Search Template API는 이제 lang-mustache
module에 포함되어 있으며 simulate
flag는 SearchTemplateRequest
object에 설정되어야 한다.
AnalyzeRequestedit
The tokenFilters(String...)
and charFilters(String...)
methods have been removed in favor of using addTokenFilter(String)
/addTokenFilter(Map)
and addCharFilter(String)
/addCharFilter(Map)
each filters
addTokenFilter(String)
/addTokenFilter(Map)
, addCharFilter(String)
/addCharFilter(Map)
각각의 사용을 위하여 tokenFilters(String...)
, charFilters(String...)
method는 제거되었다.
AnalyzeRequestBuilderedit
The setTokenFilters(String...)
and setCharFilters(String...)
methods have been removed in favor of using addTokenFilter(String)
/addTokenFilter(Map)
and addCharFilter(String)
/addCharFilter(Map)
each filters
addTokenFilter(String)
/addTokenFilter(Map)
, addCharFilter(String)
/addCharFilter(Map)
각각의 사용을 위하여 setTokenFilters(String...)
, setCharFilters(String...)
method는 제거되었다.
ClusterHealthRequestedit
The waitForRelocatingShards(int)
method has been removed in favor of waitForNoRelocatingShards(boolean)
which instead uses a boolean flag to denote whether the cluster health operation should wait for there to be no relocating shards in the cluster before returning.
cluster health 연산이 반환하기 전에 cluster에 relocating shard이 없어질 때까지 기다려야 하는지를 나타내는 boolean flag를 사용하는 waitForNoRelocatingShards(boolean)
를 위하여waitForRelocatingShards(int)
method는 제거되었다.
ClusterHealthRequestBuilderedit
The setWaitForRelocatingShards(int)
method has been removed in favor of setWaitForNoRelocatingShards(boolean)
which instead uses a boolean flag to denote whether the cluster health operation should wait for there to be no relocating shards in the cluster before returning.
cluster health 연산이 반환하기 전에 cluster에 relocating shard이 없어질 때까지 기다려야 하는지를 나타내는 boolean flag를 사용하는 setWaitForNoRelocatingShards(boolean)
를 위하여setWaitForRelocatingShards(int)
method는 제거되었다.
BlobContainer Interface for Snapshot/Restoreedit
Some methods have been removed from the BlobContainer
interface for Snapshot/Restore repositories. In particular, the following three methods have been removed:
일부 method는 Snapshot/Restore repository의 BlobContainer
interface에서 제거되었다. 특히 다음 세 가지 method가 제거되었다.
deleteBlobs(Collection<String>)
(usedeleteBlob(String)
instead)deleteBlobsByPrefix(String)
(usedeleteBlob(String)
instead)writeBlob(String, BytesReference)
(usewriteBlob(String, InputStream, long)
instead)
The deleteBlob
methods that took multiple blobs as arguments were deleted because no atomic guarantees can be made about either deleting all blobs or deleting none of them, and exception handling in such a situation is ambiguous and best left to the caller. Hence, all delete blob calls use the singular deleteBlob(String)
method.
argument로 여러개의 blob을 가지는 deleteBlob
method는 삭제되었다. 왜냐하면 모든 blob을 지우거나 아무것도 지우지 않는 것에 대한 절대적인 보장이 없기 때문에, 그런 상황에서의 예외 처리는 모호하며, 호출자에게 맡기는 것이 최선이다. 따라서, 모든 blob 삭제 호출은 유일한 deleteBlob(String)
method를 사용한다.
The extra writeBlob
method offered no real advantage to the interface and all calls to writeBlob(blobName, bytesRef)
can be replaced with:
writeBlob
method는 interface스에 실질적인 이점을 제공하지 않으며 writeBlob(blobName, bytesRef)
에 대한 모든 호출은 다음으로 대체될 수 있다 :
try (InputStream stream = bytesRef.streamInput()) { blobContainer.writeBlob(blobName, stream, bytesRef.length()); }
For any custom implementation of the BlobContainer
interface, these three methods must be removed.
BlobContainer
interface의 사용자 정의 구현에서는, 이 3 개의 method를 삭제되어야 한다.
NodeBuilder removededit
NodeBuilder has been removed. While using Node directly within an application is not officially supported, it can still be constructed with the Node(Settings)
constructor.
NodeBuilder
가 제거되었다. 응용프로그램 내에서 node를 직접 사용하는 것은 공식적으로 지원되지 않지만, Node(Settings) constructor로 여전히 생성될 수 있다.
'5.X > 8. Breaking Changes' 카테고리의 다른 글
v5.0-10. REST API changes (0) | 2017.10.22 |
---|---|
v5.0-11. CAT API changes (0) | 2017.10.22 |
v5.0-13. Packaging (0) | 2017.10.22 |
v5.0-14. Plugin changes (0) | 2017.10.22 |
v5.0-15. Filesystem related changes (0) | 2017.10.22 |