code: @Override
      @GraphTransaction
      public String searchByFullText(String query, QueryParams queryParams) throws DiscoveryException {
          String graphQuery = String.format("v.\"%s\":(%s)", Constants.ENTITY_TEXT_PROPERTY_KEY, query);
          LOG.debug("Full text query: {}", graphQuery);
          Iterator<AtlasIndexQuery.Result<?, ?>> results =graph.indexQuery(Constants.FULLTEXT_INDEX, graphQuery).vertices();
          JSONArray response = new JSONArray();
  
          int index = 0;
          while (results.hasNext() && index < queryParams.offset()) {
              results.next();
              index++;
          }
  
          while (results.hasNext() && response.length() < queryParams.limit()) {
  
              AtlasIndexQuery.Result<?,?> result = results.next();
              AtlasVertex<?,?> vertex = result.getVertex();
  
              JSONObject row = new JSONObject();
              String guid = GraphHelper.getGuid(vertex);
              if (guid != null) { //Filter non-class entities
                  try {
                      row.put("guid", guid);
                      row.put(AtlasClient.TYPENAME, GraphHelper.getTypeName(vertex));
                      row.put(SCORE, result.getScore());
                  } catch (JSONException e) {
                      LOG.error("Unable to create response", e);
                      throw new DiscoveryException("Unable to create response");
                  }
  
                  response.put(row);
              }
          }
          return response.toString();
      }
docs: .html#query-string-syntax for query syntax