@Test
  public void testExternalValues() throws Exception {
    prepareCreate("test-idx")
        .addMapping(
            "type",
            XContentFactory.jsonBuilder()
                .startObject()
                .startObject("type")
                .startObject(ExternalRootMapper.CONTENT_TYPE)
                .endObject()
                .startObject("properties")
                .startObject("field")
                .field("type", RegisterExternalTypes.EXTERNAL)
                .endObject()
                .endObject()
                .endObject()
                .endObject())
        .execute()
        .get();
    ensureYellow("test-idx");

    index(
        "test-idx",
        "type",
        "1",
        XContentFactory.jsonBuilder().startObject().field("field", "1234").endObject());
    refresh();

    SearchResponse response;

    response =
        client()
            .prepareSearch("test-idx")
            .setPostFilter(FilterBuilders.termFilter("field.bool", "T"))
            .execute()
            .actionGet();

    assertThat(response.getHits().totalHits(), equalTo((long) 1));

    response =
        client()
            .prepareSearch("test-idx")
            .setPostFilter(
                FilterBuilders.geoDistanceRangeFilter("field.point").point(42.0, 51.0).to("1km"))
            .execute()
            .actionGet();

    assertThat(response.getHits().totalHits(), equalTo((long) 1));

    response =
        client()
            .prepareSearch("test-idx")
            .setPostFilter(
                FilterBuilders.geoShapeFilter(
                    "field.shape", ShapeBuilder.newPoint(-100, 45), ShapeRelation.WITHIN))
            .execute()
            .actionGet();

    assertThat(response.getHits().totalHits(), equalTo((long) 1));

    response =
        client()
            .prepareSearch("test-idx")
            .setPostFilter(FilterBuilders.termFilter("field.field", "foo"))
            .execute()
            .actionGet();

    assertThat(response.getHits().totalHits(), equalTo((long) 1));
  }