Information Retrieval Techniques for Pattern Matching: Managing and Searching Textual and XML Information in 21st Century Applications