Мария, если новичок, то не советую заниматься компиляцией такого сложного проекта. Лучше найти rpm-пакет во внешнем репозитории, если отсутствует в штатном.
А если есть возможность сменить дистрибутив, то OpenSuse удобный.
В индекс включать точно domain и email, а user (логин?) только если будет искаться по нему.
А какой смысл искать по паролю? Вам пользователи сообщат какие пароли использовали?
Стоит обратить внимание на графовые СУБД, такие как ArangoDB, Neo4j, OrientDB. Они как раз рассчитаны на случаи, когда есть много связей между моделями.