private void fdbQueryNearest(QueryNearest query) throws LSHException, ElasticException {
		FunctionDatabase.checkSettingsForQuery(query.manage, info);
		String filter = null;
		if (query.bsimFilter != null) {
			ExecutableRecord repexe = query.manage.getExecutableRecordSet().first();
			IDElasticResolution idres[] = new IDElasticResolution[query.bsimFilter.numAtoms()];
			for (int i = 0; i < idres.length; ++i) {
				FilterAtom atom = query.bsimFilter.getAtom(i);
				idres[i] = atom.type.generateIDElasticResolution(atom);
				if (idres[i] != null) {
					idres[i].resolve(this, repexe);
				}
			}
			filter = ElasticEffects.createFilter(query.bsimFilter, idres);
		}
		final ResponseNearest response = query.nearresponse;
		response.totalfunc = 0;
		response.totalmatch = 0;
		response.uniquematch = 0;

		final DescriptionManager descMgr = new DescriptionManager();
		final Iterator<FunctionDescription> iter = query.manage.listAllFunctions();

		queryFunctions(query, filter, response, descMgr, iter);
		response.manage.transferSettings(query.manage); // Echo back the settings
	}
Entry point for the Elasticsearch version of QueryNearest command:
  Query for functions that are similar to those in the request.
@param query is command parameters
@throws LSHException for problems adding new records to the response
@throws ElasticException for communication problems with the server
Ghidra/Features/BSim/src/main/java/ghidra/features/bsim/query/elastic/ElasticDatabase.java