Я бы порекомендовал использовать WebSolr.Это поисковая система корпоративного уровня, основанная на Apache Solr, которая может обрабатывать миллионы проиндексированных документов без проблем.Кроме того, Solr позволяет вам определять индивидуальную структуру для ваших данных, а не заставлять вас искать простой FULLTEXT-поиск.Он предлагает дополнительные функции, такие как граненый поиск и исправление орфографии.
Если вы не хотите платить за Solr, вы можете разместить его самостоятельно, так как он с открытым исходным кодом: http://lucene.apache.org/solr/
СЧто касается упомянутых вами альтернатив, если вы делаете значительный объем поиска, я бы не использовал ничего, что полагается на базу данных вашего приложения, для выполнения полнотекстового поиска - это очень любительское решение, которое не масштабируется.