I currently have an Elasticsearch index which is receiving 1 document/second (possible that will increase but not over 10/second). However, this index may get queried hundreds of times a second.
My question is whether constant indexing slows down query times, even a little? If so, would it be better to save all documents to be indexed per day, then bulk index them all at once at off times?
There are a lot of variables to consider for your questions but at the highest level it is a very common use case to be indexing and searching at the same time in Elasticsearch.
If you have a properly designed Elasticsearch cluster (solid HW, CPU, RAM Storage, properly sized), with good information architecture (indices, mapping, shards etc), good queries etc..
Sure you can do that.
When you ask will it slow it does even a little ... perhaps... after all it all comes down to CPU (threads), RAM and I/O.
It depends on what the SLA is? What is Slow? What is fast enough? What is your Query SLA? How complex is the query? How much data is being search?
Your indexing rate seems pretty small even with your query rate... In short I would benchmark (try) and tune / adjust. If you have an undersized cluster or poor / inefficient design you might have issues but I can assure you there are plenty of users that have much higher rates for both index and query and are very happy.
Try it.. and adjust / scale if needed... come back and ask some specific question and prehaps we can help more
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.