private void updateExecutable(ExecutableRecord.Update updateRecord, String exeId)
			throws ElasticException {
		StringBuilder buffer = new StringBuilder();
		boolean needscomma = false;
		buffer.append("{ \"doc\": {");
		if (updateRecord.name_exec) {
			needscomma = true;
			buffer.append("\"name_exec\": \"")
					.append(escape(updateRecord.update.getNameExec()))
					.append('\"');
		}
		if (updateRecord.architecture) {
			if (needscomma) {
				buffer.append(',');
			}
			else {
				needscomma = true;
			}
			buffer.append("\"architecture\": \"")
					.append(updateRecord.update.getArchitecture())
					.append('\"');
		}
		if (updateRecord.name_compiler) {
			if (needscomma) {
				buffer.append(',');
			}
			else {
				needscomma = true;
			}
			buffer.append("\"name_compiler\": \"")
					.append(updateRecord.update.getArchitecture())
					.append('\"');
		}
		if (updateRecord.date) {
			if (needscomma) {
				buffer.append(',');
			}
			else {
				needscomma = true;
			}
			buffer.append("\"ingest_date\": ").append(updateRecord.update.getDate().getTime());
		}
		if (updateRecord.repository) {
			if (needscomma) {
				buffer.append(',');
			}
			else {
				needscomma = true;
			}
			buffer.append("\"repository\": \"")
					.append(updateRecord.update.getRepository())
					.append('\"');
		}
		if (updateRecord.path) {
			if (needscomma) {
				buffer.append(',');
			}
			else {
				needscomma = true;
			}
			buffer.append("\"path\": \"").append(updateRecord.update.getPath()).append('\"');
		}
		if (updateRecord.categories) {
			if (needscomma) {
				buffer.append(',');
			}
			else {
				needscomma = true;
			}
			appendCategoryTag(updateRecord.update.getAllCategories(), buffer);
		}
		buffer.append("} }");
		StringBuilder pathBuffer = new StringBuilder();
		pathBuffer.append("executable/_update/");
		pathBuffer.append(exeId);
		connection.executeStatementNoResponse(ElasticConnection.POST, pathBuffer.toString(),
			buffer.toString());
	}
Issue an update request for single executable, given its document id and an update record
@param updateRecord is the executable specific update record
@param exeId is the document id of the executable
@throws ElasticException for communication problems with the server
Ghidra/Features/BSim/src/main/java/ghidra/features/bsim/query/elastic/ElasticDatabase.java