original.java
@Before
public void setup() throws Exception {
    super.setUp();

    
    strMapper = new StringFieldMapper.Builder("str_value")
            .build(new Mapper.BuilderContext(null, new ContentPath(1)));

    lngMapper = new LongFieldMapper.Builder("lng_value")
            .build(new Mapper.BuilderContext(null, new ContentPath(1)));

    dblMapper = new DoubleFieldMapper.Builder("dbl_value")
            .build(new Mapper.BuilderContext(null, new ContentPath(1)));

    
    Index index = new Index("test");
    CircuitBreakerService circuitBreakerService = new NoneCircuitBreakerService();
    IndicesFieldDataCache indicesFieldDataCache = new IndicesFieldDataCache(
            ImmutableSettings.Builder.EMPTY_SETTINGS,
            new IndicesFieldDataCacheListener(circuitBreakerService)
    );
    ifdService = new IndexFieldDataService(index, ImmutableSettings.builder().put("index.fielddata.cache", "none").build(), indicesFieldDataCache, circuitBreakerService, new IndicesFieldDataCacheListener(circuitBreakerService));
    MapperService mapperService = MapperTestUtils.newMapperService(ifdService.index(), ImmutableSettings.Builder.EMPTY_SETTINGS);
    ifdService.setIndexService(new StubIndexService(mapperService));
    IndexQueryParserService parserService = new IndexQueryParserService(
            index, ImmutableSettings.EMPTY, new IndicesQueriesRegistry(ImmutableSettings.EMPTY, ImmutableSet.<QueryParser>of(), ImmutableSet.<FilterParser>of()),
            null, null, null, mapperService, null, ifdService, null, null, null, null
    );
    parseContext = new QueryParseContext(index, parserService);
    writer = new IndexWriter(new RAMDirectory(),
            new IndexWriterConfig(Lucene.VERSION, new StandardAnalyzer(Lucene.VERSION)));

    int numDocs = 10;
    for (int i = 0; i < numDocs; i++) {
        Document d = new Document();
        d.add(new StringField(strMapper.names().indexName(), "str" + i, Field.Store.NO));
        d.add(new LongField(lngMapper.names().indexName(), i, Field.Store.NO));
        d.add(new DoubleField(dblMapper.names().indexName(), Double.valueOf(i), Field.Store.NO));
        writer.addDocument(d);
    }

    reader = SlowCompositeReaderWrapper.wrap(DirectoryReader.open(writer, true));
}
modified.java
@Before
public void setup() throws Exception {
    super.setUp();

    
    strMapper = new StringFieldMapper.Builder("str_value")
            .build(new Mapper.BuilderContext(null, new ContentPath(1)));

    lngMapper = new LongFieldMapper.Builder("lng_value")
            .build(new Mapper.BuilderContext(null, new ContentPath(1)));

    dblMapper = new DoubleFieldMapper.Builder("dbl_value")
            .build(new Mapper.BuilderContext(null, new ContentPath(1)));

    
    Settings settings = ImmutableSettings.builder().put("index.fielddata.cache", "none").build();
    IndexService indexService = createIndex("test", settings);
    ifdService = indexService.injector().getInstance(IndexFieldDataService.class);
    IndexQueryParserService parserService = indexService.queryParserService();
    parseContext = new QueryParseContext(indexService.index(), parserService);
    writer = new IndexWriter(new RAMDirectory(),
            new IndexWriterConfig(Lucene.VERSION, new StandardAnalyzer(Lucene.VERSION)));

    int numDocs = 10;
    for (int i = 0; i < numDocs; i++) {
        Document d = new Document();
        d.add(new StringField(strMapper.names().indexName(), "str" + i, Field.Store.NO));
        d.add(new LongField(lngMapper.names().indexName(), i, Field.Store.NO));
        d.add(new DoubleField(dblMapper.names().indexName(), Double.valueOf(i), Field.Store.NO));
        writer.addDocument(d);
    }

    reader = SlowCompositeReaderWrapper.wrap(DirectoryReader.open(writer, true));
}