Mapping a single entity type to multiple indexes

Description

Introduce a way to map a single entity type to multiple indexes:

  • on bootstrap, user code will provide a list of index names that this entity type will be mapped to (instead of just one usually).

  • at runtime, each entity to index will be inspected by user code upon indexing, and routed to the correct index.

For example, we could use the IndexedConfigurer on bootstrap and the RoutingBridge at runtime; both were introduced in HSEARCH-3108.

Note that initially, we'll force all indexes to have the exact same mapping. We'll allow each index to have a different mapping in HSEARCH-3971, and then we'll have addressed part of the use cases mentioned in HSEARCH-3313: essentially all the use cases except those where the list of indexes is not known in advance. Even that one could be covered eventually, in theory but that'll have to be handled in (if ever).

Environment

None

Activity

Show:
Yoann Rodière
August 20, 2020, 7:09 AM

Moving this to 6.1, because:

  1. This feature is not useful per se, it's just a prerequisite to other features (see linked tickets) that we'll implement in 6.1 or later.

  2. This feature introduces new APIs, and it's becoming increasingly clear these APIs will have to be changed to accomodate other features (e.g. specify a list of mapping groups for a given index, see linked tickets).

Assignee

Yoann Rodière

Reporter

Yoann Rodière

Labels

None

Suitable for new contributors

None

Pull Request

None

Feedback Requested

None

Components

Fix versions

Priority

Major
Configure