Подходы, которые избегают использования внешней службы поиска ...
Подход 1 - поместить информационное содержимое XML в базу данных и осуществлять поиск с использованием SQL / JDBC. Вариации же с использованием Hibernate и т. Д.
Подход 2 - считайте файл XML как структуру данных в памяти как коллекцию Java и выполните поиск программно. Это будет использовать немного памяти в зависимости от того, сколько информации содержится в файле XML, но вам нужно только выяснить, как анализировать / загружать XML и получать доступ к коллекции.
Однако было бы полезно, если бы вы объяснили контекст, в котором вы пытаетесь это сделать. Это плагин для браузера? Клиентская сторона веб-приложения? Серверная сторона? Настольное приложение?