private void fdbQueryNearestVector(QueryNearestVector query)
			throws ElasticException, LSHException {
		FunctionDatabase.checkSettingsForQuery(query.manage, info);
		final ResponseNearestVector response = query.nearresponse;
		response.totalvec = 0;
		response.totalmatch = 0;
		response.uniquematch = 0;

		int vectormax = query.vectormax;
		if (vectormax == 0) {
			vectormax = MAX_VECTOR_OVERALL; // Really means a very big limit
		}

		final Iterator<FunctionDescription> iter = query.manage.listAllFunctions();
		while (iter.hasNext()) {
			final FunctionDescription frec = iter.next();
			final SignatureRecord srec = frec.getSignatureRecord();
			if (srec == null) {
				continue;
			}
			final LSHVector thevec = srec.getLSHVector();
			final double len2 = vectorFactory.getSelfSignificance(thevec);
			if (len2 < query.signifthresh) {
				continue;
			}

			response.totalvec += 1;
			final List<VectorResult> resultset = new ArrayList<>();

			queryNearestVector(resultset, thevec, query.thresh, query.signifthresh, vectormax);
			if (resultset.isEmpty()) {
				continue;
			}
			final SimilarityVectorResult simres = new SimilarityVectorResult(frec);
			simres.addNotes(resultset);
			response.totalmatch += simres.getTotalCount();
			if (simres.getTotalCount() == 1) {
				response.uniquematch += 1;
			}
			response.result.add(simres);
		}
	}
Entry point for the Elasticsearch version of QueryNearestVector command:
  Query for vectors that are similar to those in the request
@param query is command parameters
@throws ElasticException for communication problems with the server
@throws LSHException if the command is misconfigured
Ghidra/Features/BSim/src/main/java/ghidra/features/bsim/query/elastic/ElasticDatabase.java