I have a multi-tenant marketplace, consisting in up to 5 tenants, each one having 1M documents to be searched.
What are the performance considerations between having 5 identical engines of 1M documents, or have 1 engine with 5M documents using a key to filter the tenant?
Hi @gpribi! I don't have specific performance metrics around those two scenarios. It doesn't like the documents themselves won't be exactly identical, so I think using five engines each containing 1M documents might be slightly faster.
There is also an existing issue at the moment that the Query suggestion API | Elastic App Search Documentation [7.14] | Elastic does not handle filters in the same way that the normal Search API does. So if you're interested in using Query suggestions, splitting the documents among five different engines based on tenants will definitely be the way to go. There is an existing enhancement request for this feature, but it is not in the immediate roadmap for the App Search team.
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.