package experiments.collective.entdoccentric.query; import org.apache.lucene.search.Query; import experiments.collective.entdoccentric.StandardInitialize; import experiments.collective.entdoccentric.StandardQueryDataObject.EntityObject; public final class QueryGenerator { private static QueryGenerator instance; private LearnToRankInitialize ltr; private StandardInitialize std; private QueryGenerator() { ltr = new LearnToRankInitialize(); std = new StandardInitialize(); } public synchronized static QueryGenerator getInstance() { if (instance == null) { instance = new QueryGenerator(); } return instance; } public Query createQuery(EntityObject object, QuerySettings settings) { Query query = null; if (settings.getQuery().equals("std")) { query = std.createQuery(object, settings); } else if (settings.getQuery().equals("ltr")) { query = ltr.createLearnToRankQuery(object, settings); } return query; } }