Search in sources :

Example 1 with Metadata

use of org.opensearch.ingest.IngestDocument.Metadata in project OpenSearch by opensearch-project.

the class AppendProcessorTests method testAppendMetadataExceptVersion.

public void testAppendMetadataExceptVersion() throws Exception {
    // here any metadata field value becomes a list, which won't make sense in most of the cases,
    // but support for append is streamlined like for set so we test it
    Metadata randomMetadata = randomFrom(Metadata.INDEX, Metadata.TYPE, Metadata.ID, Metadata.ROUTING);
    List<String> values = new ArrayList<>();
    Processor appendProcessor;
    if (randomBoolean()) {
        String value = randomAlphaOfLengthBetween(1, 10);
        values.add(value);
        appendProcessor = createAppendProcessor(randomMetadata.getFieldName(), value, true);
    } else {
        int valuesSize = randomIntBetween(0, 10);
        for (int i = 0; i < valuesSize; i++) {
            values.add(randomAlphaOfLengthBetween(1, 10));
        }
        appendProcessor = createAppendProcessor(randomMetadata.getFieldName(), values, true);
    }
    IngestDocument ingestDocument = RandomDocumentPicks.randomIngestDocument(random());
    Object initialValue = ingestDocument.getSourceAndMetadata().get(randomMetadata.getFieldName());
    appendProcessor.execute(ingestDocument);
    List<?> list = ingestDocument.getFieldValue(randomMetadata.getFieldName(), List.class);
    if (initialValue == null) {
        assertThat(list, equalTo(values));
    } else {
        assertThat(list.size(), equalTo(values.size() + 1));
        assertThat(list.get(0), equalTo(initialValue));
        for (int i = 1; i < list.size(); i++) {
            assertThat(list.get(i), equalTo(values.get(i - 1)));
        }
    }
}
Also used : Processor(org.opensearch.ingest.Processor) Metadata(org.opensearch.ingest.IngestDocument.Metadata) ArrayList(java.util.ArrayList) IngestDocument(org.opensearch.ingest.IngestDocument)

Example 2 with Metadata

use of org.opensearch.ingest.IngestDocument.Metadata in project OpenSearch by opensearch-project.

the class SetProcessorTests method testSetMetadataExceptVersion.

public void testSetMetadataExceptVersion() throws Exception {
    Metadata randomMetadata = randomFrom(Metadata.INDEX, Metadata.TYPE, Metadata.ID, Metadata.ROUTING);
    Processor processor = createSetProcessor(randomMetadata.getFieldName(), "_value", true, false);
    IngestDocument ingestDocument = RandomDocumentPicks.randomIngestDocument(random());
    processor.execute(ingestDocument);
    assertThat(ingestDocument.getFieldValue(randomMetadata.getFieldName(), String.class), Matchers.equalTo("_value"));
}
Also used : Processor(org.opensearch.ingest.Processor) Metadata(org.opensearch.ingest.IngestDocument.Metadata) IngestDocument(org.opensearch.ingest.IngestDocument)

Aggregations

IngestDocument (org.opensearch.ingest.IngestDocument)2 Metadata (org.opensearch.ingest.IngestDocument.Metadata)2 Processor (org.opensearch.ingest.Processor)2 ArrayList (java.util.ArrayList)1