 So, the idea is, instead of computing the similarity of "all" pairs of strings, to reduce the number of candidate pairs.Widely used algorithms are based on filter-verification, hashing, Locality-sensitive hashing (LSH), Tries and other greedy and approximation algorithms.Most of them are designed to fit some framework (such as Map-Reduce) to compute concurrently.