Search, Replication and Grouping for Unstructured P2P Networks