-
Notifications
You must be signed in to change notification settings - Fork 24.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Types removal in 8.0 #41059
Comments
Pinging @elastic/es-search |
I came across #24362 and am wondering if we should remove the |
Added, thanks @jtibshirani. |
@colings86 @jpountz just a note that I created a new section for 'known traps' to list surprises we encountered during the 7.x types removal effort that are good to be aware of. |
@jtibshirani thats a great idea, thanks |
Part of types removal for 8.0 Related to #41059
This commit removes types from the ShardGetService, and propagates this API change up through the Transport and Rest actions for Get and MultiGet Relates to #41059
Types are already not needed to retrieve documents; this commit removes the now-redundant path elements in the GET _source API. Relates to #41059
Type information is no longer useful for validating queries; this commit removes the deprecated typed endpoints for this API. Relates to #41059
We no longer need a type to get the source of a document, so we can remove it from the explain API as well. Relates to #41059
TermsLookup uses a GetRequest under the hood to load terms from a particular document. Now that GetRequests no longer use a type, we can remove types from the TermsLookup object and terms query as well. Relates to #41059
When we had multiple mapping types, an update to a field in one type had to be propagated to the same field in all other types. This was done using the Mapper.updateFieldType() method, called at the end of a merge. However, now that we only have a single type per index, this method is unnecessary and can be removed. Relates to #41059
When we had multiple mapping types, an update to a field in one type had to be propagated to the same field in all other types. This was done using the Mapper.updateFieldType() method, called at the end of a merge. However, now that we only have a single type per index, this method is unnecessary and can be removed. Relates to elastic#41059
When we had multiple mapping types, an update to a field in one type had to be propagated to the same field in all other types. This was done using the Mapper.updateFieldType() method, called at the end of a merge. However, now that we only have a single type per index, this method is unnecessary and can be removed. Relates to #41059 Backport of #56986
My understanding is that in order to do this, we need to make sure mappings in cluster state don't contain a custom type name (held over from 7.x). Otherwise, we need some references to 'type' in internal code to load and parse these mappings correctly. Have we decided to make this change for 8.0, and introduce some process where mappings get rewritten to use |
We don't need a special TypeFieldMapper for anything in particular; all access to the type field can be done via a TypeFieldType that issues appropriate deprecation warnings. Relates to #41059
@jpountz I assume we can close this now? |
This is a meta issue that tracks things that must or should be done before 8.0 in order to finalize the removal of types.
Remaining:
Removal of Types
doc to point to 7x branch Remove [removal-of-types] docs page, and point to 7x docs #53670_type
in scripts viaLeafDocLookup
Remove deprecation warning when doc scripts refer to '_type' field #53605TermsLookup#parseTermsLookup()
in 7x when type is included Emit deprecation warning when TermsLookup contains a type #53731Longer term:
String type
parameter from all internal code, eg.MapperService
.MUST
include_type_name
in index creation, mapping and template APIs. Removeinclude_type_name
parameter from REST layer #48632_type
from GET responses @romseygeek (Remove types from Get/MultiGet #46587)_type
from_search
responses. @romseygeek (Remove_type
from SearchHit #46942)_type
field (e.g. in terms lookup and percolator queries)type
query Removetype
query #47207_type
field in queries (such asterm
andwildcard
). (Add NestedPathFieldMapper to store nested path information #51100)IndexAction
(Remove type from Watcher IndexAction #47986)SHOULD
Remove types from
TermsLookup
@romseygeek (Remove types from TermsLookup #46943)Remove type from
SourceToParse
(Don't persist type information to translog #47229)Remove types from
IndexShard.applyXOperation
methods (Upgrade to Lucene 8.5.0-snapshot-c4475920b08 (#52950) #52977Remove code that is related to the
_default_
mapping. @romseygeek (Remove default mapping #44945)Remove the
_type
mapping field? (Add NestedPathFieldMapper to store nested path information #51100)InternalIndexingStats only needs one stats instance Remove per-type indexing stats #47203
KNOWN BUGS/ TRAPS
The text was updated successfully, but these errors were encountered: