A compressed full-text self-index for a text

, of size

, is a
data structure used to search for patterns

, of size

, in

, that
requires reduced space, i.e. space that depends on the empirical
entropy (

or

) of

, and is, furthermore, able to
reproduce any substring of

. In this paper we present a new
compressed self-index able to locate the occurrences of

in

time, where

is the number of
occurrences. The fundamental improvement over previous LZ78 based
indexes is the reduction of the search time dependency on

from

to

. To achieve this result we point out the main
obstacle to linear time algorithms based on LZ78 data compression and
expose and explore the nature of a recurrent structure in LZ-indexes,
the

suffix tree. We show that our method is very
competitive in practice by comparing it against other state of the art
compressed indexes.