Skip to content

Synthetic _source: support ignore_malformed #90007

@felixbarny

Description

@felixbarny

As part of LX, we want to make log indices more lenient. Therefore, we're planning on using ignore_malformed. See also #88777. While using synthetic source is not a requirement for LX, we should think about how we could eventually leverage synthetic source to save space.

One of the blockers is that synthetic source doesn't have support for ignore_malformed. That's because malformed values will only be available in the _source. But if the source is synthetic, malformed values would just be lost.

We could to something similar to #89466 and store malformed values in a hidden stored field. One of the challenges is that stored fields are strictly typed (IINM) but the malformed value could be of any type. But we could just always store the malformed value in a string field, in the exact form that was provided in the JSON document. For example "42" (note the quotes), true, 42. When re-constructing the _source, we can just use that value and append it to the JSON document. Just an idea :)

cc @nik9000

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions