postgres and a fair amount of RAM on a dedicated box plus some scripts to pull the data in. You will also find you can probably shrink the data set - dates can be converted from string to native representations, if certain large strings are repeated you can spin them off into their own table, etc.
Solr or elasticsearch may be other options that can work with few instances and moderate horsepower.
Solr or elasticsearch may be other options that can work with few instances and moderate horsepower.