private JsonObject queryFunctionsOfExeId(String exeId, long maxDocuments, long start)
			throws ElasticException {
		StringBuilder buffer = new StringBuilder();
		buffer.append("{ \"size\": ").append(maxDocuments);
		buffer.append(", \"_source\": { \"excludes\": [ \"childid\" ] }");
		buffer.append(", \"query\": { \"parent_id\": { \"type\": \"function\", \"id\": \"")
				.append(exeId)
				.append("\" }}");
		if (start != 0) {
			buffer.append(", \"search_after\": [").append(start).append(']');
		}
		buffer.append(", \"sort\": [ { \"_doc\": \"asc\" } ] }");
		return connection.executeStatement(ElasticConnection.GET, "executable/_search",
			buffer.toString());
	}
Query for function documents based on their parent executable id.
A "page" of results is selected by selecting a -start- document and a maximum number to return
@param exeId is the executable id
@param maxDocuments is the maximum number of functions to return
@param start is the number functions to skip
@return the JSON response object
@throws ElasticException for communication problems with the server
Ghidra/Features/BSim/src/main/java/ghidra/features/bsim/query/elastic/ElasticDatabase.java