CsvInputFormat visitsFormat = new CsvInputFormat('|', null, StringValue.class, StringValue.class);
FileDataSource visits = new FileDataSource(visitsFormat, visitsInput, "Visits input:q");
// Create MapOperator for filtering the entries from the documents
// relation
MapOperator filterDocs = MapOperator.builder(new FilterDocs())
.input(docs)
.name("Filter Docs")
.build();
filterDocs.getCompilerHints().setFilterFactor(0.15f);
// Create MapOperator for filtering the entries from the ranks relation
MapOperator filterRanks = MapOperator.builder(new FilterRanks())
.input(ranks)
.name("Filter Ranks")
.build();
filterRanks.getCompilerHints().setFilterFactor(0.25f);
// Create MapOperator for filtering the entries from the visits relation
MapOperator filterVisits = MapOperator.builder(new FilterVisits())
.input(visits)
.name("Filter Visits")
.build();
filterVisits.getCompilerHints().setFilterFactor(0.2f);
// Create JoinOperator to join the filtered documents and ranks
// relation
JoinOperator joinDocsRanks = JoinOperator.builder(new JoinDocRanks(), StringValue.class, 0, 0)
.input1(filterDocs)