Node Similarity In Complex Networks And Its Applications In Online Recommendations