private JsonObject queryMd5ExeMatch(String md5) throws ElasticException {
		StringBuilder buffer = new StringBuilder();
		buffer.append(
			"{ \"size\": 1, \"query\": { \"bool\": { \"filter\": { \"term\": { \"md5\": \"");
		buffer.append(md5).append("\" } } } } }");
		JsonObject resp = connection.executeStatement(ElasticConnection.GET, "executable/_search",
			buffer.toString());
		JsonObject hits = (JsonObject) resp.get("hits");
		JsonObject totalRec = (JsonObject) hits.get("total");
		long total = totalRec.get("value").getAsLong();
		if (total == 0) {
			return null;
		}
		JsonArray hitsArray = (JsonArray) hits.get("hits");
		return (JsonObject) hitsArray.get(0);
	}
Query for a single executable document based on the md5.  There should be 0 or 1 matching docs.
@param md5 is the md5 string
@return null or the "hit" portion of the response corresponding to the matching document
@throws ElasticException for communication problems with the server
Ghidra/Features/BSim/src/main/java/ghidra/features/bsim/query/elastic/ElasticDatabase.java