コード例 #1
0
  public void testParseAsBytesArray() throws Exception {
    String path = "/org/elasticsearch/ingest/attachment/test/sample-files/text-in-english.txt";
    byte[] bytes;
    try (InputStream is = AttachmentProcessorTests.class.getResourceAsStream(path)) {
      bytes = IOUtils.toByteArray(is);
    }

    Map<String, Object> document = new HashMap<>();
    document.put("source_field", bytes);

    IngestDocument ingestDocument = RandomDocumentPicks.randomIngestDocument(random(), document);
    processor.execute(ingestDocument);

    @SuppressWarnings("unchecked")
    Map<String, Object> attachmentData =
        (Map<String, Object>) ingestDocument.getSourceAndMetadata().get("target_field");

    assertThat(
        attachmentData.keySet(),
        containsInAnyOrder("language", "content", "content_type", "content_length"));
    assertThat(attachmentData.get("language"), is("en"));
    assertThat(
        attachmentData.get("content"),
        is("\"God Save the Queen\" (alternatively \"God Save the King\""));
    assertThat(attachmentData.get("content_type").toString(), containsString("text/plain"));
    assertThat(attachmentData.get("content_length"), is(notNullValue()));
  }
コード例 #2
0
  private Map<String, Object> parseDocument(String file, AttachmentProcessor processor)
      throws Exception {
    Map<String, Object> document = new HashMap<>();
    document.put("source_field", getAsBase64(file));

    IngestDocument ingestDocument = RandomDocumentPicks.randomIngestDocument(random(), document);
    processor.execute(ingestDocument);

    @SuppressWarnings("unchecked")
    Map<String, Object> attachmentData =
        (Map<String, Object>) ingestDocument.getSourceAndMetadata().get("target_field");
    return attachmentData;
  }