We're updating the issue view to help you get more done. 

Search 6 groundwork - Restore support for applying bridges automatically to projections

Description

Related to HSEARCH-3221, you might want to address both in one PR.

In Search 5, by default, when you project on a field, the projected value is expected to be transformed by the field bridge before being added to the result You cannot skip bridges.

In Search 6, until now, we did not use the bridge in projections. We should offer a way to do so.

We need to:

  1. Fix

  2. Decide how to allow bridges to implement this transformation. For ValueBridges it's simple, as they expose a method to transform a value from its indexed form to the "mapper" form. For other TypeBridge and PropertyBridge it's not as straightforward, because those bridges may manage multiple index fields so a projection on a given "object property" might require multiple projections on multiple index fields, and the bridges might even want to expose more than one projection.

  3. Add support for the mapper to forward some information to the engine when bootstrapping, so that the projection DSL (implemented in the engine, thus below the mapper) can somehow use bridges.

See https://docs.google.com/document/d/16PAa__LsxyLZcbW3q1MvgyIznh4ZnCYLupbNMXKMRds/edit?pli=1#

For tests, see:

  • Occurrences of the string “TODO rely on the bridge to convert to a String” in the showcase

  • Occurrences of the string “TODO rely on the bridge to split the String” in the showcase

Environment

None

Status

Assignee

Unassigned

Reporter

Yoann Rodière

Labels

None

Suitable for new contributors

None

Feedback Requested

None

Components

Fix versions

Priority

Major