18. An apparatus for using user provided tags for searching, comprising: a processor; and a computer-readable medium storing a plurality of instructions which, when executed by a processor, cause the processor to perform operations, the operations comprising: collecting, by an application server, a plurality of user provided tags associated with a plurality of entities, wherein the plurality of user provided tags comprises semantic descriptions entered by a plurality of different users; creating, by the application server, a tag topological network layer that is managed by a service provider, wherein the tag topological network layer predefines a next entity for each one of the plurality of entities based upon the plurality of user provided tags; receiving, by the application server, a user query that contains a search term; and generating, by the application server, a search result containing an entity of the plurality of entities in the tag topological network layer, wherein the entity is found based on a distance measure of a tag vector, t p , for the entity, p, wherein a function t p (i) represents a measure of a weight of a tag, i, that is used to tag the entity, p, based on a normalized count of times tag, i, is used to tag the entity, p, wherein the entity contains a link to another entity in accordance with the tag topological network layer, wherein the link is created in accordance with the tag vector of the entity.
19. The apparatus of claim 18 , wherein the generating the search result comprises: converting the search term into a tag vector, wherein the entity is found based on a distance measure of the tag vector of the entity to the tag vector of the search term.