Для вашей задачи подойдет и то и другое. Sphinx быстрее индексирует и жрет меньше памяти, Elasticsearch более гибок, умеет строить всякие фасеты и прочие агрегации, может индексировать массивы, вложенные поля и прочее. В вашем случае я бы тоже порекомендовал Sphinx, т.к. первоначально проиндексировать 500 гб на Elasticsearch будет очень долго.