I want to integrate user input into clustering algorithm. So that users can control which docs should be in the same cluster. What are some ways to achieve this? Can metric learning do this?
If you mean that users get to give some pairwise constraints on what items should/shouldn't be in the same cluster, that's called constrained clustering (see wikipedia page; apparently I don't have enough "reputation" to post more than two links...).
The following older question seems relevant: Supervised clustering or classification?
As for doing this in an interactive manner, i.e. updating the clustering (quickly, i.e. without too much computation) as individual constraints are given by the user, the following two papers might be of interest: