for visualizations we do a precheck if the resp.hits.total actually has results. So I think you should add a check to your code, that checks whether resp.hits exists and resp.hits.total is not equal 0. If it is, Elasticsearch will just have returned no results, in which case you cannot tabify anything.
I've checked your sources. When you register your plugin you don't specify a responseHandler property. In this case the default (tabify) will be used. Meaning the resp you see, is already a tabified response.
You can either set responseHandler: 'none' in your vis registration to get the original ES response, or - more recommended - just use resp as the result of tabify, since you anyway want to tabify it.
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.