Virtual resources are considerably more numerous than the physical devices which host them. There are many more files than servers; more videos than people. Thus, the task of discovering relevant resources is certainly a daunting one. The search engines help to retrieve data from servers. Yet, discovering resources stored in a virtual environment requires "deep" searching techniques which must be able to explore not only the multitude of web servers, but also the ordinary computers and terminals. This chapter introduces different discovery techniques used in "structured" and " unstructured" P2P systems.