public Searcher searcher() {
        return new Searcher();
    }
@Test
    void requireThatPredicateIndexCanSearchWithRange() {
        PredicateIndexBuilder builder = new PredicateIndexBuilder(10);
        builder.indexDocument(1, Predicate.fromString("gender in ['male'] and age in [20..40]"));
        builder.indexDocument(2, Predicate.fromString("gender in ['female'] and age in [20..40]"));
        PredicateIndex index = builder.build();
        PredicateIndex.Searcher searcher = index.searcher();
        PredicateQuery query = new PredicateQuery();
        query.addFeature("gender", "male");
        query.addRangeFeature("age", 36);
        assertEquals("[1]", searcher.search(query).toList().toString());
        query.addFeature("gender", "female");
        assertEquals("[1, 2]", searcher.search(query).toList().toString());
    }