public void run() {
final Database database = inputstep.getDatabase();
final Relation<O> relation = database.getRelation(distf.getInputTypeRestriction());
logger.verbose("Running preprocessor ...");
MaterializeKNNPreprocessor<O, D> preproc = new MaterializeKNNPreprocessor<O, D>(relation, distf, maxk + 2);
database.addIndex(preproc);
// Test that we did get a proper index query
KNNQuery<O, D> knnq = QueryUtil.getKNNQuery(relation, distf);
if(!(knnq instanceof PreprocessorKNNQuery)) {
logger.warning("Not using preprocessor knn query -- KNN queries using class: " + knnq.getClass());