code: public ApiResponse<SearchResponse> getSearchWithHttpInfo(List<String> categories, String search,
              String acceptLanguage, String datasource, String ifNoneMatch, String language, Boolean strict)
              throws ApiException {
          com.squareup.okhttp.Call call = getSearchValidateBeforeCall(categories, search, acceptLanguage, datasource,
                  ifNoneMatch, language, strict, null);
          Type localVarReturnType = new TypeToken<SearchResponse>() {
          }.getType();
          return apiClient.execute(call, localVarReturnType);
      }
docs: Search on a string Search for entities that match a given sub-string. ---
  This route is cached for up to 3600 seconds SSO Scope:
  esi-search.search_structures.v1
  
  @param categories
  Type of entities to search for (required)
  @param search
  The string to search on (required)
  @param acceptLanguage
  Language to use in the response (optional, default to en-us)
  @param datasource
  The server name you would like data from (optional, default to
  tranquility)
  @param ifNoneMatch
  ETag from a previous request. A 304 will be returned if this
  matches the current ETag (optional)
  @param language
  Language to use in the response, takes precedence over
  Accept-Language (optional, default to en-us)
  @param strict
  Whether the search should be a strict match (optional, default
  to false)
  @return ApiResponse&lt;SearchResponse&gt;
  @throws ApiException
  If fail to call the API, e.g. server error or cannot
  deserialize the response body