Open zane-neo opened 7 months ago
@zane-neo can you give example of existing processors and how they support this multiple fields mapping configuration without common support?
Also @zane-neo, you mentioned
create a new field based on an existing field value
are you planning to create a new processor to support this?
@zane-neo can you give example of existing processors and how they support this multiple fields mapping configuration without common support?
@shwetathareja Currently we have text_embedding processor doing this: https://opensearch.org/docs/latest/ingest-pipelines/processors/text-embedding/
Also @zane-neo, you mentioned
create a new field based on an existing field value
are you planning to create a new processor to support this?
In fact, text_embedding processor is doing this, and a new processor: https://opensearch.org/docs/latest/search-plugins/text-chunking/ is also doing this.
Is your feature request related to a problem? Please describe
Background
Current OpenSearch Core support field value configuration in multiple processors, e.g. AppendProcessor, SetProcessor etc. An example like below:
With this configuration, user can append a new field or transform an existing field, but sometimes, user needs another pattern: create a new field based on an existing field value. E.g. below example has multiple new fields created with existing fields:
a
to generate a new fielda_wc
,a_wc
records the words count fielda
has.b
to generate a new fieldb_wc
,b
andb_wc
are list type.c -> d
to generate a new fieldd_wc
,c -> d
andd_wc
are map type.Problem statement
Currently the configuration of processor doesn't support this
multiple fields mapping configuration
fashion, which makes every processor needs to implement similar logics in their own.Describe the solution you'd like
We can support
multiple fields mapping configuration
in opensearch core so that it can be reused in different processors across different plugins. We can support two different configuration styles for this, e.g.:Related component
Other
Describe alternatives you've considered
No response
Additional context
No response