I'd like to achieve the following with as little overhead as possible:
1. A web app calls an ASP.NET API. 2. ASP.NET performs auth and adds some filter values according to the user's permissions. 3. ASP.NET sends the request to ES. 4. ASP.NET checks the response wether there was an error. a. If no error occurs, the response should be forwarded as fast as possible. No deserialization and re-serialization. The fastest possible way - keep the response gzipped as send from ES. b. If an error occurs, the error message should be logged.
I'm considering using either no client library - using plain http and JSON. But I like the advantages of connection pooling Elasticsearch.NET and NEST are providing.
I'd further opt for Elasticsearch.NET as I don't need and don't want to work with typed objects. But I'm stuck at how to handle the response for the use case described above.