IndexReader idxReader = new IndexReader(output);
idxReader.initializeSignatures();
PermutationIndexWriter permWriter = new PermutationIndexWriter(output, idxReader.signatures, options);
permWriter.createIndex();
idxReader = null;
NearestNeighborSearcher searcher = new NearestNeighborSearcher(output);
int beamWidth = 10;
double minSimilarity = 0.2;
long [] targetIds = new long []{1,2,3,4,5,6,7,8,9};
Comparator<Neighbor> comparator = new Neighbor.SimilarityComparator();
ScoreThreshold thresh = new CosineSimilarityThreshold(minSimilarity);
TLongObjectHashMap<Neighbor []> allSims = new TLongObjectHashMap<Neighbor []>();
for(long id : targetIds)
{
Neighbor [] sims = searcher.getScoredNeighbors(id, beamWidth, options.numPermutations, Integer.MAX_VALUE, comparator, thresh);
if(sims != null) allSims.put(id, sims);
Assert.assertTrue(containsId(id, sims));
}
// IndexUtils.delete(new File(input));