Thank you for your response.
After considering it, Jack_Woehr’s suggestion is to place the columns used for searching into a new collection. However, there’s an issue: the columns we use for searching may change. If a new column is added for searching later on, the data in this new collection would need updating. This makes it less scalable. Even if this solution can offer a 1-second response time in the production environment, due to the scalability issue, we may still not prefer this approach. Regarding the Atlas Search solution, I observed that the servers are all in Europe, while our company and clients are in mainland China. The network latency is not very acceptable. Therefore, my idea is to use a lightweight search engine like Apache Lucene to implement this. What do you all think? Are there any other better ideas? @Jason_Tran @Jack_Woehr @Harshit