String search in external memory: data structures and algorithms