1. A search method comprising steps of: searching a range of user defined search attributes from a search query in a set of values in a distributed hash table database to determine at least one database node of a distributed database wherein the search will be performed, wherein each of the at least one database nodes stores a subset of a searched value in one or more distributed storage entities, said searched value comprising: at least one file or other data stored, said searched value representing a data attribute stored in the distributed storage network, wherein the step of searching comprises the following steps: splitting said range of user defined search attributes into a set of subranges, wherein each subrange of said user defined search attributes comprises a subset of the values of said user defined search attribute, by: generating a hierarchical tree structure accessible to a requesting entity; and associating each subrange of data attribute values with a database node of the hierarchical tree structure, wherein said hierarchical tree structure comprises nodes on different levels; wherein each subrange represents a maximum value range which can be accessed from the node; generating an encoded query packet combining each subrange, for the set of subranges by generating a subquery for each subrange of said set of subranges; combining the subqueries with set operators, wherein: a subrange of values associated to a parent node comprises the subranges of values associated to corresponding child nodes; a value represents data characterized by said value, and said hierarchical structure comprises a tree structure, and the set of subranges in total covers the searched range, and wherein the step of splitting splits the range into a largest prefix-based subsets by: extending both a lower end and an upper end of the searched range to move to a next boundary representable by a granularity chosen for the tree structure, comprising steps of: taking the lower end (L) of the searched range; picking a subrange starting from (L), which has a size the largest power of k, called k s , where k is a branching degree of the tree fulfilling two criteria: (1) L+k s <U, where U is just above the upper end of the range, for r inside the range iff L<r<U; and (2) k s divides L making it a prefix, representable by a subtree, and raising the lower end of the range from L to L+k s , when the first subrange from L to L+k s has been selected, and setting (L) equal to L to L+k s , and repeating the steps picking and raising until the search range is exhausted; a node of said hierarchical structure comprises a list which list indicates data characterized by a value which value belongs to a subrange associated to said node; said range is split up into said set of subranges, said set comprising a minimum number of subranges; said range is split up into said set of subranges which set in total covers the range; said range is split up into said set of subranges in such a way that data to be transferred in response to the query is minimized; transmitting the encoded query packet to one or more of said distributed storage entities for performing a query; wherein the transmitting step comprises transmitting the encoded query packet sequentially from one of distributed storage entities to another one of the distributed storage entities, wherein each of such storage entities performs a subquery from the encoded query packet, combines the result of said subquery with a query result provided by a previous distributed storage entity by applying the corresponding set operator, and forwards a result of this combination; and returning documents within the searched range of data attribute values.