private void startLSH(){
		if(linear){
			if(queries != null){
				for(Vector query:queries){
					List<Vector> neighbours = LSH.linearSearch(dataset, query, numberOfNeighbours, measure);
					System.out.print(query.getKey()+";");
					double sum = 0.0;
					for(Vector neighbour:neighbours){
						sum += measure.distance(query, neighbour);
						System.out.print(neighbour.getKey() + ";");
					}
					System.out.print(sum+";");
					System.out.print("\n");
				}
			}
		}else{
			LSH lsh = new LSH(dataset, family);
			lsh.buildIndex(numberOfHashes,numberOfHashTables);		
			if(queries != null){
				for(Vector query:queries){
					List<Vector> neighbours = lsh.query(query, numberOfNeighbours);
					System.out.print(query.getKey()+";");
					for(Vector neighbour:neighbours){
						System.out.print(neighbour.getKey() + ";");
					}
					System.out.print("\n");
				}
			}
		}
	}