Description
This issue is meant to track progress on types removal compatible changes. It is a copy of a #41059 where types removal was tracked.
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.
relates: the main meta issue
MUST
- Remove typed URL paths
- RestNoopBulkAction (Remove types from client-benchmark-noop-api-plugin URLs #46668) internal api
- RestNoopSearchAction (Remove types from client-benchmark-noop-api-plugin URLs #46668) internal api
- RestMultiSearchTemplateAction (Removes typed endpoint from search and related APIs #41640) feature branch compatible Compatible logic for Removes typed endpoint from search and related APIs #54572 [Rest Api Compatibility] Typed endpoints for search and related endpoints #72155
- RestSearchTemplateAction (Removes typed endpoint from search and related APIs #41640) feature branch compatible Compatible logic for Removes typed endpoint from search and related APIs #54572 [Rest Api Compatibility] Typed endpoints for search and related endpoints #72155
- RestDeleteByQueryAction (Removes typed endpoint from search and related APIs #41640) feature branch compatible Compatible logic for Removes typed endpoint from search and related APIs #54572 [Rest Api Compatibility] Typed endpoints for search and related endpoints #72155
- RestUpdateByQueryAction (Removes typed endpoint from search and related APIs #41640) feature branch compatible Compatible logic for Removes typed endpoint from search and related APIs #54572 [Rest Api Compatibility] Typed endpoints for search and related endpoints #72155
- RestGetFieldMappingAction (Removes typed URLs from mapping APIs #41676) feature branch compatible draft Mappings get put and get mappings #58426 on master [Rest API Compatibility] Typed endpoints for Put and Get Mapping and get field mappings #71721
- RestGetMappingAction (Removes typed URLs from mapping APIs #41676) feature branch compatible draft Mappings get put and get mappings #58426 on master [Rest API Compatibility] Typed endpoints for Put and Get Mapping and get field mappings #71721
- RestPutMappingAction (Removes typed URLs from mapping APIs #41676) feature branch compatible draft Mappings get put and get mappings #58426 on master [Rest API Compatibility] Typed endpoints for Put and Get Mapping and get field mappings #71721
- RestValidateQueryAction (Remove types from ValidateQuery API #46927) [Rest Api Compatibility] Validate Query typed api #74171
- RestBulkAction (Remove types from BulkRequest #46983) in master [Rest Api Compatibility] Typed endpoint for bulk api #73571
- RestDeleteAction (Remove type field from DocWriteRequest and associated Response objects #47671) feature branch compatible Compatible Delete and Update rest actions #58246 [Rest Api Compatibility] Typed endpoints for RestUpdateAction and RestDeleteAction #73115
- RestGetAction (Remove types from Get/MultiGet #46587) feature branch compatible Compatible version of typed Index And Get API #53228 for get only in order to make index tests pass on master [REST Compatible API] Typed endpoints for Index and Get APIs #69131
- RestGetSourceAction (Remove types from _source endpoint #46931) [Rest Api Compatibility] Typed endpoints for get_source api #73957
- RestIndexAction (Remove type field from DocWriteRequest and associated Response objects #47671) feature branch compatible Compatible version of typed Index And Get API #53228 on master [REST Compatible API] Typed endpoints for Index and Get APIs #69131
- RestMultiGetAction (Remove types from Get/MultiGet #46587) in master [Rest Api Compatibility] Typed endpoint for multiget api #73878
- RestMultiTermVectorsAction (Removes typed endpoint from search and related APIs #41640) feature branch compatible Compatible logic for Removes typed endpoint from search and related APIs #54572 [Rest Api Compatibility] Typed endpoints for search and related endpoints #72155
- RestTermVectorsAction (Removes typed endpoint from search and related APIs #41640) feature branch compatible Compatible logic for Removes typed endpoint from search and related APIs #54572 [Rest Api Compatibility] Typed endpoints for search and related endpoints #72155
- RestUpdateAction (Remove type field from DocWriteRequest and associated Response objects #47671) feature branch compatible Compatible Delete and Update rest actions #58246 [Rest Api Compatibility] Typed endpoints for RestUpdateAction and RestDeleteAction #73115
- RestCountAction (Removes types from SearchRequest and QueryShardContext #42112) [Rest Api Compatibility] Typed endpoints for search _count api #73958
- RestExplainAction (Remove types from explain API #46926) [Rest Api Compatibility] Typed endpoints for explain api #73901
- RestMultiSearchAction (Removes typed endpoint from search and related APIs #41640) feature branch compatible Compatible logic for Removes typed endpoint from search and related APIs #54572 [Rest Api Compatibility] Typed endpoints for search and related endpoints #72155
- RestSearchAction (Removes typed endpoint from search and related APIs #41640) feature branch compatible Compatible logic for Removes typed endpoint from search and related APIs #54572 [Rest Api Compatibility] Typed endpoints for search and related endpoints #72155
- RestGraphAction (Remove types from Graph API #46935) [Rest Api Compatibility] Typed and xpack graph explore api #74185
- RestSimulatePipelineAction Remove type metadata from ingest documents #50131 [Rest Api Compatibility] Type metadata for docs used in simulate request #74222
- Remove types from Request objects
- SearchRequest (Removes types from SearchRequest and QueryShardContext #42112)
- QueryShardContext (Removes types from SearchRequest and QueryShardContext #42112)
- TermVectorsRequest (Removes type from TermVectors APIs #42198) and MoreLikeThisQuery [Rest Api Compatibility] MoreLikeThisQuery with types #75123
- ValidateQueryRequest (Remove types from ValidateQuery API #46927) [Rest Api Compatibility] Validate Query typed api #74171
- ExplainRequest (Remove types from explain API #46926)
- RoutingMissingException (Remove types from Get/MultiGet #46587) just a message has changed. not implementing
- Remove types from the query DSL
- AbstractGeometryQueryBuilder (Remove types from GeoShapeQueryBuilder #47792) [Rest Api Compatibility] Allow for type in geo shape query #74553
- TermsQueryBuilder (Remove types from TermsLookup #46943) [Rest Api Compatibility] Typed TermLookups #74544
- PercolateQueryBuilder (Remove types from percolate query API #46985) [Rest Api Compatibility] Types for Percolate Query Api #74698
- Remove support for
include_type_name
in index creation, mapping and template APIs. Removeinclude_type_name
parameter from REST layer #48632 feature branch compatible Compatible logic for include_type_param and RestCreateIndexAction #54197 on master [Rest Compatible Api] include_type_name parameter #70966 - Remove type parameters from the node client
- prepareIndex()
- prepareDelete()
- prepareUpdate()
- PutMappingRequest
- Remove
_type
from GET responses (Remove types from Get/MultiGet #46587) - Remove
_type
from_search
responses. (Remove_type
from SearchHit #46942) - Remove searches on the
_type
field (e.g. in terms lookup and percolator queries) - Remove
type
query Removetype
query #47207 - Disallow using the
_type
field in queries (such asterm
andwildcard
). (Add NestedPathFieldMapper to store nested path information #51100) - Remove types from watcher's
IndexAction
(Remove type from Watcher IndexAction #47986) - Remove types from WatcherSearchTemplateRequest. (Remove types from WatcherSearchTemplateRequest #51112)
- Remove deprecated typed methods on the high-level REST client. Remove deprecated include-type methods from HLRC indices client #48471
SHOULD
-
Remove types from
TermsLookup
(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) #52977 -
Remove code that is related to the
_default_
mapping. (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
- Index creation and put template requests can accept malformed mappings: Index creation requests can accept malformed mappings. #38266
Remaining:
- REST-layer version compatibility
- Rewrite
Removal of Types
doc to point to 7x branch Remove [removal-of-types] docs page, and point to 7x docs #53670 - Master nodes should refuse to join a cluster with multi-typed index templates Handling index templates with multiple mapping types #53018
- Test rolling upgrades from 7x with typed mappings and templates Create upgrade tests for typed mappings #48800
- Remove ability to reference
_type
in scripts viaLeafDocLookup
Remove deprecation warning when doc scripts refer to '_type' field #53605 - Add deprecation warning to
TermsLookup#parseTermsLookup()
in 7x when type is included Emit deprecation warning when TermsLookup contains a type #53731 - Remove TypeFieldMapper
Longer term:
- Merge back FieldMapper and MappedFieldType (issue: Merge FieldMapper and MappedFieldType #41058)
- Remove
String type
parameter from all internal code, eg.MapperService
.