Search code examples
jsonscalahttpelasticsearchelastic4s

How track json request sent to Elasticsearch via elastic4s client?


Say that I use such code:

ElasticClient client = ...
client.execute{search in "places"->"cities" query "paris" start 5 limit 10}

How to see what json request was been sent to Elasticsearch?


Solution

  • In Elastic4s 1.6.2 you can use the show typeclass on a number of requests to get the JSON equivilent.

    It's pretty straightforward.

    val req = search in "index" / "type" query "kate bush"
    logger.debug(s"Search request ${req.show}")
    

    The .show method will render JSON output. It works on most of the request types.

    In Elastic4s 5.2.0+, you use the show method on the client.

    val req = search("index" / "type").query("kate bush")
    client.show(req)