I'm very new to Elasticsearch. I am looking to use it for my website's autocomplete search function. The searchable data is about 80GBs. Would I need to install Elasticsearch on a machine that has more than 80GB of RAM in order to get any real performance advantage? Does all the searchable data and the index need to be loaded into RAM?
No, Elasticsearch (really Lucene, the underlying library) organises its data on disk so as to support efficient searches without needing it all to be in RAM. It's designed to prefer to keep the more performance-critical parts of your data in memory, allowing less important data to remain on disk until needed. You will, of course, have to run your own benchmarks to ensure that it's performing as you need in your environment and with your data and use case. In some cases a larger number of smaller nodes may perform better, but in other cases that won't be true.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.