org.openmetadata.client.api.SearchApi Maven / Gradle / Ivy
package org.openmetadata.client.api;
import org.openmetadata.client.ApiClient;
import org.openmetadata.client.EncodingUtils;
import org.openmetadata.client.model.ApiResponse;
import org.openmetadata.client.model.SearchResponse;
import org.openmetadata.client.model.Suggest;
import java.util.UUID;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import feign.*;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2024-08-22T14:05:58.429779152Z[Etc/UTC]")
public interface SearchApi extends ApiClient.Api {
/**
* Get aggregated fields
* Get aggregated fields from entities.
* @param q Search Query Text, Pass *text* for substring match; Pass without wildcards for exact match. <br/> 1. For listing all tables or topics pass q=* <br/>2. For search tables or topics pass q=*search_term* <br/>3. For searching field names such as search by columnNames pass q=columnNames:address, for searching deleted entities, use q=deleted:true <br/>4. For searching by tag names pass q=tags.tagFQN:user.email <br/>5. When user selects a filter pass q=query_text AND tags.tagFQN:user.email AND platform:MYSQL <br/>6. Search with multiple values of same filter q=tags.tagFQN:user.email AND tags.tagFQN:user.address <br/>NOTE: logic operators such as AND, OR and NOT must be in uppercase (required)
* @param index (optional, default to table_search_index)
* @param field Field in an entity. (optional)
* @param value value for searching in aggregation (optional, default to )
* @param size Size field to limit the no.of results returned, defaults to 10 (optional, default to 10)
* @param deleted (optional, default to false)
* @return Suggest
*/
@RequestLine("GET /v1/search/aggregate?index={index}&field={field}&value={value}&q={q}&size={size}&deleted={deleted}")
@Headers({
"Accept: application/json",
})
Suggest getAggregateFields(@Param("q") String q, @Param("index") String index, @Param("field") String field, @Param("value") String value, @Param("size") Integer size, @Param("deleted") String deleted);
/**
* Get aggregated fields
* Similar to getAggregateFields
but it also returns the http response headers .
* Get aggregated fields from entities.
* @param q Search Query Text, Pass *text* for substring match; Pass without wildcards for exact match. <br/> 1. For listing all tables or topics pass q=* <br/>2. For search tables or topics pass q=*search_term* <br/>3. For searching field names such as search by columnNames pass q=columnNames:address, for searching deleted entities, use q=deleted:true <br/>4. For searching by tag names pass q=tags.tagFQN:user.email <br/>5. When user selects a filter pass q=query_text AND tags.tagFQN:user.email AND platform:MYSQL <br/>6. Search with multiple values of same filter q=tags.tagFQN:user.email AND tags.tagFQN:user.address <br/>NOTE: logic operators such as AND, OR and NOT must be in uppercase (required)
* @param index (optional, default to table_search_index)
* @param field Field in an entity. (optional)
* @param value value for searching in aggregation (optional, default to )
* @param size Size field to limit the no.of results returned, defaults to 10 (optional, default to 10)
* @param deleted (optional, default to false)
* @return A ApiResponse that wraps the response boyd and the http headers.
*/
@RequestLine("GET /v1/search/aggregate?index={index}&field={field}&value={value}&q={q}&size={size}&deleted={deleted}")
@Headers({
"Accept: application/json",
})
ApiResponse getAggregateFieldsWithHttpInfo(@Param("q") String q, @Param("index") String index, @Param("field") String field, @Param("value") String value, @Param("size") Integer size, @Param("deleted") String deleted);
/**
* Get aggregated fields
* Get aggregated fields from entities.
* Note, this is equivalent to the other getAggregateFields
method,
* but with the query parameters collected into a single Map parameter. This
* is convenient for services with optional query parameters, especially when
* used with the {@link GetAggregateFieldsQueryParams} class that allows for
* building up this map in a fluent style.
* @param queryParams Map of query parameters as name-value pairs
* The following elements may be specified in the query map:
*
* - index - (optional, default to table_search_index)
* - field - Field in an entity. (optional)
* - value - value for searching in aggregation (optional, default to )
* - q - Search Query Text, Pass *text* for substring match; Pass without wildcards for exact match. <br/> 1. For listing all tables or topics pass q=* <br/>2. For search tables or topics pass q=*search_term* <br/>3. For searching field names such as search by columnNames pass q=columnNames:address, for searching deleted entities, use q=deleted:true <br/>4. For searching by tag names pass q=tags.tagFQN:user.email <br/>5. When user selects a filter pass q=query_text AND tags.tagFQN:user.email AND platform:MYSQL <br/>6. Search with multiple values of same filter q=tags.tagFQN:user.email AND tags.tagFQN:user.address <br/>NOTE: logic operators such as AND, OR and NOT must be in uppercase (required)
* - size - Size field to limit the no.of results returned, defaults to 10 (optional, default to 10)
* - deleted - (optional, default to false)
*
* @return Suggest
*/
@RequestLine("GET /v1/search/aggregate?index={index}&field={field}&value={value}&q={q}&size={size}&deleted={deleted}")
@Headers({
"Accept: application/json",
})
Suggest getAggregateFields(@QueryMap(encoded=true) GetAggregateFieldsQueryParams queryParams);
/**
* Get aggregated fields
* Get aggregated fields from entities.
* Note, this is equivalent to the other getAggregateFields
that receives the query parameters as a map,
* but this one also exposes the Http response headers
* @param queryParams Map of query parameters as name-value pairs
* The following elements may be specified in the query map:
*
* - index - (optional, default to table_search_index)
* - field - Field in an entity. (optional)
* - value - value for searching in aggregation (optional, default to )
* - q - Search Query Text, Pass *text* for substring match; Pass without wildcards for exact match. <br/> 1. For listing all tables or topics pass q=* <br/>2. For search tables or topics pass q=*search_term* <br/>3. For searching field names such as search by columnNames pass q=columnNames:address, for searching deleted entities, use q=deleted:true <br/>4. For searching by tag names pass q=tags.tagFQN:user.email <br/>5. When user selects a filter pass q=query_text AND tags.tagFQN:user.email AND platform:MYSQL <br/>6. Search with multiple values of same filter q=tags.tagFQN:user.email AND tags.tagFQN:user.address <br/>NOTE: logic operators such as AND, OR and NOT must be in uppercase (required)
* - size - Size field to limit the no.of results returned, defaults to 10 (optional, default to 10)
* - deleted - (optional, default to false)
*
* @return Suggest
*/
@RequestLine("GET /v1/search/aggregate?index={index}&field={field}&value={value}&q={q}&size={size}&deleted={deleted}")
@Headers({
"Accept: application/json",
})
ApiResponse getAggregateFieldsWithHttpInfo(@QueryMap(encoded=true) GetAggregateFieldsQueryParams queryParams);
/**
* A convenience class for generating query parameters for the
* getAggregateFields
method in a fluent style.
*/
public static class GetAggregateFieldsQueryParams extends HashMap {
public GetAggregateFieldsQueryParams index(final String value) {
put("index", EncodingUtils.encode(value));
return this;
}
public GetAggregateFieldsQueryParams field(final String value) {
put("field", EncodingUtils.encode(value));
return this;
}
public GetAggregateFieldsQueryParams value(final String value) {
put("value", EncodingUtils.encode(value));
return this;
}
public GetAggregateFieldsQueryParams q(final String value) {
put("q", EncodingUtils.encode(value));
return this;
}
public GetAggregateFieldsQueryParams size(final Integer value) {
put("size", EncodingUtils.encode(value));
return this;
}
public GetAggregateFieldsQueryParams deleted(final String value) {
put("deleted", EncodingUtils.encode(value));
return this;
}
}
/**
* Get Stream Job Latest Status
* Stream Job Status
*/
@RequestLine("GET /v1/search/reindex/stream/status")
@Headers({
"Accept: application/json",
})
void getStreamJobStatus();
/**
* Get Stream Job Latest Status
* Similar to getStreamJobStatus
but it also returns the http response headers .
* Stream Job Status
*/
@RequestLine("GET /v1/search/reindex/stream/status")
@Headers({
"Accept: application/json",
})
ApiResponse getStreamJobStatusWithHttpInfo();
/**
* Suggest entities
* Get suggested entities used for auto-completion.
* @param q Suggest API can be used to auto-fill the entities name while use is typing search text <br/> 1. To get suggest results pass q=us or q=user etc.. <br/> 2. Do not add any wild-cards such as * like in search api <br/> 3. suggest api is a prefix suggestion <br/> (required)
* @param index (optional, default to table_search_index)
* @param field Field in object containing valid suggestions. Defaults to 'suggest`. All indices has a `suggest` field, only some indices have other `suggest_*` fields. (optional, default to suggest)
* @param size Size field to limit the no.of results returned, defaults to 10 (optional, default to 10)
* @param fetchSource Get document body for each hit (optional, default to true)
* @param includeSourceFields Get only selected fields of the document body for each hit. Empty value will return all fields (optional)
* @param deleted (optional, default to false)
* @return Suggest
*/
@RequestLine("GET /v1/search/suggest?q={q}&index={index}&field={field}&size={size}&fetch_source={fetchSource}&include_source_fields={includeSourceFields}&deleted={deleted}")
@Headers({
"Accept: application/json",
})
Suggest getSuggestedEntities(@Param("q") String q, @Param("index") String index, @Param("field") String field, @Param("size") Integer size, @Param("fetchSource") Boolean fetchSource, @Param("includeSourceFields") List includeSourceFields, @Param("deleted") Boolean deleted);
/**
* Suggest entities
* Similar to getSuggestedEntities
but it also returns the http response headers .
* Get suggested entities used for auto-completion.
* @param q Suggest API can be used to auto-fill the entities name while use is typing search text <br/> 1. To get suggest results pass q=us or q=user etc.. <br/> 2. Do not add any wild-cards such as * like in search api <br/> 3. suggest api is a prefix suggestion <br/> (required)
* @param index (optional, default to table_search_index)
* @param field Field in object containing valid suggestions. Defaults to 'suggest`. All indices has a `suggest` field, only some indices have other `suggest_*` fields. (optional, default to suggest)
* @param size Size field to limit the no.of results returned, defaults to 10 (optional, default to 10)
* @param fetchSource Get document body for each hit (optional, default to true)
* @param includeSourceFields Get only selected fields of the document body for each hit. Empty value will return all fields (optional)
* @param deleted (optional, default to false)
* @return A ApiResponse that wraps the response boyd and the http headers.
*/
@RequestLine("GET /v1/search/suggest?q={q}&index={index}&field={field}&size={size}&fetch_source={fetchSource}&include_source_fields={includeSourceFields}&deleted={deleted}")
@Headers({
"Accept: application/json",
})
ApiResponse getSuggestedEntitiesWithHttpInfo(@Param("q") String q, @Param("index") String index, @Param("field") String field, @Param("size") Integer size, @Param("fetchSource") Boolean fetchSource, @Param("includeSourceFields") List includeSourceFields, @Param("deleted") Boolean deleted);
/**
* Suggest entities
* Get suggested entities used for auto-completion.
* Note, this is equivalent to the other getSuggestedEntities
method,
* but with the query parameters collected into a single Map parameter. This
* is convenient for services with optional query parameters, especially when
* used with the {@link GetSuggestedEntitiesQueryParams} class that allows for
* building up this map in a fluent style.
* @param queryParams Map of query parameters as name-value pairs
* The following elements may be specified in the query map:
*
* - q - Suggest API can be used to auto-fill the entities name while use is typing search text <br/> 1. To get suggest results pass q=us or q=user etc.. <br/> 2. Do not add any wild-cards such as * like in search api <br/> 3. suggest api is a prefix suggestion <br/> (required)
* - index - (optional, default to table_search_index)
* - field - Field in object containing valid suggestions. Defaults to 'suggest`. All indices has a `suggest` field, only some indices have other `suggest_*` fields. (optional, default to suggest)
* - size - Size field to limit the no.of results returned, defaults to 10 (optional, default to 10)
* - fetchSource - Get document body for each hit (optional, default to true)
* - includeSourceFields - Get only selected fields of the document body for each hit. Empty value will return all fields (optional)
* - deleted - (optional, default to false)
*
* @return Suggest
*/
@RequestLine("GET /v1/search/suggest?q={q}&index={index}&field={field}&size={size}&fetch_source={fetchSource}&include_source_fields={includeSourceFields}&deleted={deleted}")
@Headers({
"Accept: application/json",
})
Suggest getSuggestedEntities(@QueryMap(encoded=true) GetSuggestedEntitiesQueryParams queryParams);
/**
* Suggest entities
* Get suggested entities used for auto-completion.
* Note, this is equivalent to the other getSuggestedEntities
that receives the query parameters as a map,
* but this one also exposes the Http response headers
* @param queryParams Map of query parameters as name-value pairs
* The following elements may be specified in the query map:
*
* - q - Suggest API can be used to auto-fill the entities name while use is typing search text <br/> 1. To get suggest results pass q=us or q=user etc.. <br/> 2. Do not add any wild-cards such as * like in search api <br/> 3. suggest api is a prefix suggestion <br/> (required)
* - index - (optional, default to table_search_index)
* - field - Field in object containing valid suggestions. Defaults to 'suggest`. All indices has a `suggest` field, only some indices have other `suggest_*` fields. (optional, default to suggest)
* - size - Size field to limit the no.of results returned, defaults to 10 (optional, default to 10)
* - fetchSource - Get document body for each hit (optional, default to true)
* - includeSourceFields - Get only selected fields of the document body for each hit. Empty value will return all fields (optional)
* - deleted - (optional, default to false)
*
* @return Suggest
*/
@RequestLine("GET /v1/search/suggest?q={q}&index={index}&field={field}&size={size}&fetch_source={fetchSource}&include_source_fields={includeSourceFields}&deleted={deleted}")
@Headers({
"Accept: application/json",
})
ApiResponse getSuggestedEntitiesWithHttpInfo(@QueryMap(encoded=true) GetSuggestedEntitiesQueryParams queryParams);
/**
* A convenience class for generating query parameters for the
* getSuggestedEntities
method in a fluent style.
*/
public static class GetSuggestedEntitiesQueryParams extends HashMap {
public GetSuggestedEntitiesQueryParams q(final String value) {
put("q", EncodingUtils.encode(value));
return this;
}
public GetSuggestedEntitiesQueryParams index(final String value) {
put("index", EncodingUtils.encode(value));
return this;
}
public GetSuggestedEntitiesQueryParams field(final String value) {
put("field", EncodingUtils.encode(value));
return this;
}
public GetSuggestedEntitiesQueryParams size(final Integer value) {
put("size", EncodingUtils.encode(value));
return this;
}
public GetSuggestedEntitiesQueryParams fetchSource(final Boolean value) {
put("fetch_source", EncodingUtils.encode(value));
return this;
}
public GetSuggestedEntitiesQueryParams includeSourceFields(final List value) {
put("include_source_fields", EncodingUtils.encodeCollection(value, "multi"));
return this;
}
public GetSuggestedEntitiesQueryParams deleted(final Boolean value) {
put("deleted", EncodingUtils.encode(value));
return this;
}
}
/**
* Search entities
* Search entities using query test. Use query params `from` and `size` for pagination. Use `sort_field` to sort the results in `sort_order`.
* @param q Search Query Text, Pass *text* for substring match; Pass without wildcards for exact match. <br/> 1. For listing all tables or topics pass q=* <br/>2. For search tables or topics pass q=*search_term* <br/>3. For searching field names such as search by columnNames pass q=columnNames:address , for searching deleted entities, use q=deleted:true <br/> 4. For searching by tag names pass q=tags.tagFQN:user.email <br/>5. When user selects a filter pass q=query_text AND q=tags.tagFQN:user.email AND platform:MYSQL <br/>6. Search with multiple values of same filter q=tags.tagFQN:user.email AND tags.tagFQN:user.address <br/> 7. Search by service version and type q=service.type:databaseService AND version:0.1 <br/> 8. Search Tables with Specific Constraints q=tableConstraints.constraintType.keyword:PRIMARY_KEY AND NOT tier.tagFQN:Tier.Tier1 <br/> 9. Search with owners q=owner.displayName.keyword:owner_name <br/> NOTE: logic operators such as AND, OR and NOT must be in uppercase (required)
* @param index ElasticSearch Index name, defaults to table_search_index (optional, default to table_search_index)
* @param deleted Filter documents by deleted param. By default deleted is false (optional, default to false)
* @param from From field to paginate the results, defaults to 0 (optional, default to 0)
* @param size Size field to limit the no.of results returned, defaults to 10 (optional, default to 10)
* @param sortField Sort the search results by field, available fields to sort weekly_stats , daily_stats, monthly_stats, last_updated_timestamp (optional, default to _score)
* @param sortOrder Sort order asc for ascending or desc for descending, defaults to desc (optional, default to desc)
* @param trackTotalHits Track Total Hits (optional, default to false)
* @param queryFilter Elasticsearch query that will be combined with the query_string query generator from the `query` argument (optional)
* @param postFilter Elasticsearch query that will be used as a post_filter (optional)
* @param fetchSource Get document body for each hit (optional, default to true)
* @param includeSourceFields Get only selected fields of the document body for each hit. Empty value will return all fields (optional)
* @param getHierarchy Fetch search results in hierarchical order of children elements. By default hierarchy is not fetched. Currently only supported for glossary_term_search_index. (optional, default to false)
* @return SearchResponse
*/
@RequestLine("GET /v1/search/query?q={q}&index={index}&deleted={deleted}&from={from}&size={size}&sort_field={sortField}&sort_order={sortOrder}&track_total_hits={trackTotalHits}&query_filter={queryFilter}&post_filter={postFilter}&fetch_source={fetchSource}&include_source_fields={includeSourceFields}&getHierarchy={getHierarchy}")
@Headers({
"Accept: application/json",
})
SearchResponse searchEntitiesWithQuery(@Param("q") String q, @Param("index") String index, @Param("deleted") Boolean deleted, @Param("from") Integer from, @Param("size") Integer size, @Param("sortField") String sortField, @Param("sortOrder") String sortOrder, @Param("trackTotalHits") Boolean trackTotalHits, @Param("queryFilter") String queryFilter, @Param("postFilter") String postFilter, @Param("fetchSource") Boolean fetchSource, @Param("includeSourceFields") List includeSourceFields, @Param("getHierarchy") Boolean getHierarchy);
/**
* Search entities
* Similar to searchEntitiesWithQuery
but it also returns the http response headers .
* Search entities using query test. Use query params `from` and `size` for pagination. Use `sort_field` to sort the results in `sort_order`.
* @param q Search Query Text, Pass *text* for substring match; Pass without wildcards for exact match. <br/> 1. For listing all tables or topics pass q=* <br/>2. For search tables or topics pass q=*search_term* <br/>3. For searching field names such as search by columnNames pass q=columnNames:address , for searching deleted entities, use q=deleted:true <br/> 4. For searching by tag names pass q=tags.tagFQN:user.email <br/>5. When user selects a filter pass q=query_text AND q=tags.tagFQN:user.email AND platform:MYSQL <br/>6. Search with multiple values of same filter q=tags.tagFQN:user.email AND tags.tagFQN:user.address <br/> 7. Search by service version and type q=service.type:databaseService AND version:0.1 <br/> 8. Search Tables with Specific Constraints q=tableConstraints.constraintType.keyword:PRIMARY_KEY AND NOT tier.tagFQN:Tier.Tier1 <br/> 9. Search with owners q=owner.displayName.keyword:owner_name <br/> NOTE: logic operators such as AND, OR and NOT must be in uppercase (required)
* @param index ElasticSearch Index name, defaults to table_search_index (optional, default to table_search_index)
* @param deleted Filter documents by deleted param. By default deleted is false (optional, default to false)
* @param from From field to paginate the results, defaults to 0 (optional, default to 0)
* @param size Size field to limit the no.of results returned, defaults to 10 (optional, default to 10)
* @param sortField Sort the search results by field, available fields to sort weekly_stats , daily_stats, monthly_stats, last_updated_timestamp (optional, default to _score)
* @param sortOrder Sort order asc for ascending or desc for descending, defaults to desc (optional, default to desc)
* @param trackTotalHits Track Total Hits (optional, default to false)
* @param queryFilter Elasticsearch query that will be combined with the query_string query generator from the `query` argument (optional)
* @param postFilter Elasticsearch query that will be used as a post_filter (optional)
* @param fetchSource Get document body for each hit (optional, default to true)
* @param includeSourceFields Get only selected fields of the document body for each hit. Empty value will return all fields (optional)
* @param getHierarchy Fetch search results in hierarchical order of children elements. By default hierarchy is not fetched. Currently only supported for glossary_term_search_index. (optional, default to false)
* @return A ApiResponse that wraps the response boyd and the http headers.
*/
@RequestLine("GET /v1/search/query?q={q}&index={index}&deleted={deleted}&from={from}&size={size}&sort_field={sortField}&sort_order={sortOrder}&track_total_hits={trackTotalHits}&query_filter={queryFilter}&post_filter={postFilter}&fetch_source={fetchSource}&include_source_fields={includeSourceFields}&getHierarchy={getHierarchy}")
@Headers({
"Accept: application/json",
})
ApiResponse searchEntitiesWithQueryWithHttpInfo(@Param("q") String q, @Param("index") String index, @Param("deleted") Boolean deleted, @Param("from") Integer from, @Param("size") Integer size, @Param("sortField") String sortField, @Param("sortOrder") String sortOrder, @Param("trackTotalHits") Boolean trackTotalHits, @Param("queryFilter") String queryFilter, @Param("postFilter") String postFilter, @Param("fetchSource") Boolean fetchSource, @Param("includeSourceFields") List includeSourceFields, @Param("getHierarchy") Boolean getHierarchy);
/**
* Search entities
* Search entities using query test. Use query params `from` and `size` for pagination. Use `sort_field` to sort the results in `sort_order`.
* Note, this is equivalent to the other searchEntitiesWithQuery
method,
* but with the query parameters collected into a single Map parameter. This
* is convenient for services with optional query parameters, especially when
* used with the {@link SearchEntitiesWithQueryQueryParams} class that allows for
* building up this map in a fluent style.
* @param queryParams Map of query parameters as name-value pairs
* The following elements may be specified in the query map:
*
* - q - Search Query Text, Pass *text* for substring match; Pass without wildcards for exact match. <br/> 1. For listing all tables or topics pass q=* <br/>2. For search tables or topics pass q=*search_term* <br/>3. For searching field names such as search by columnNames pass q=columnNames:address , for searching deleted entities, use q=deleted:true <br/> 4. For searching by tag names pass q=tags.tagFQN:user.email <br/>5. When user selects a filter pass q=query_text AND q=tags.tagFQN:user.email AND platform:MYSQL <br/>6. Search with multiple values of same filter q=tags.tagFQN:user.email AND tags.tagFQN:user.address <br/> 7. Search by service version and type q=service.type:databaseService AND version:0.1 <br/> 8. Search Tables with Specific Constraints q=tableConstraints.constraintType.keyword:PRIMARY_KEY AND NOT tier.tagFQN:Tier.Tier1 <br/> 9. Search with owners q=owner.displayName.keyword:owner_name <br/> NOTE: logic operators such as AND, OR and NOT must be in uppercase (required)
* - index - ElasticSearch Index name, defaults to table_search_index (optional, default to table_search_index)
* - deleted - Filter documents by deleted param. By default deleted is false (optional, default to false)
* - from - From field to paginate the results, defaults to 0 (optional, default to 0)
* - size - Size field to limit the no.of results returned, defaults to 10 (optional, default to 10)
* - sortField - Sort the search results by field, available fields to sort weekly_stats , daily_stats, monthly_stats, last_updated_timestamp (optional, default to _score)
* - sortOrder - Sort order asc for ascending or desc for descending, defaults to desc (optional, default to desc)
* - trackTotalHits - Track Total Hits (optional, default to false)
* - queryFilter - Elasticsearch query that will be combined with the query_string query generator from the `query` argument (optional)
* - postFilter - Elasticsearch query that will be used as a post_filter (optional)
* - fetchSource - Get document body for each hit (optional, default to true)
* - includeSourceFields - Get only selected fields of the document body for each hit. Empty value will return all fields (optional)
* - getHierarchy - Fetch search results in hierarchical order of children elements. By default hierarchy is not fetched. Currently only supported for glossary_term_search_index. (optional, default to false)
*
* @return SearchResponse
*/
@RequestLine("GET /v1/search/query?q={q}&index={index}&deleted={deleted}&from={from}&size={size}&sort_field={sortField}&sort_order={sortOrder}&track_total_hits={trackTotalHits}&query_filter={queryFilter}&post_filter={postFilter}&fetch_source={fetchSource}&include_source_fields={includeSourceFields}&getHierarchy={getHierarchy}")
@Headers({
"Accept: application/json",
})
SearchResponse searchEntitiesWithQuery(@QueryMap(encoded=true) SearchEntitiesWithQueryQueryParams queryParams);
/**
* Search entities
* Search entities using query test. Use query params `from` and `size` for pagination. Use `sort_field` to sort the results in `sort_order`.
* Note, this is equivalent to the other searchEntitiesWithQuery
that receives the query parameters as a map,
* but this one also exposes the Http response headers
* @param queryParams Map of query parameters as name-value pairs
* The following elements may be specified in the query map:
*
* - q - Search Query Text, Pass *text* for substring match; Pass without wildcards for exact match. <br/> 1. For listing all tables or topics pass q=* <br/>2. For search tables or topics pass q=*search_term* <br/>3. For searching field names such as search by columnNames pass q=columnNames:address , for searching deleted entities, use q=deleted:true <br/> 4. For searching by tag names pass q=tags.tagFQN:user.email <br/>5. When user selects a filter pass q=query_text AND q=tags.tagFQN:user.email AND platform:MYSQL <br/>6. Search with multiple values of same filter q=tags.tagFQN:user.email AND tags.tagFQN:user.address <br/> 7. Search by service version and type q=service.type:databaseService AND version:0.1 <br/> 8. Search Tables with Specific Constraints q=tableConstraints.constraintType.keyword:PRIMARY_KEY AND NOT tier.tagFQN:Tier.Tier1 <br/> 9. Search with owners q=owner.displayName.keyword:owner_name <br/> NOTE: logic operators such as AND, OR and NOT must be in uppercase (required)
* - index - ElasticSearch Index name, defaults to table_search_index (optional, default to table_search_index)
* - deleted - Filter documents by deleted param. By default deleted is false (optional, default to false)
* - from - From field to paginate the results, defaults to 0 (optional, default to 0)
* - size - Size field to limit the no.of results returned, defaults to 10 (optional, default to 10)
* - sortField - Sort the search results by field, available fields to sort weekly_stats , daily_stats, monthly_stats, last_updated_timestamp (optional, default to _score)
* - sortOrder - Sort order asc for ascending or desc for descending, defaults to desc (optional, default to desc)
* - trackTotalHits - Track Total Hits (optional, default to false)
* - queryFilter - Elasticsearch query that will be combined with the query_string query generator from the `query` argument (optional)
* - postFilter - Elasticsearch query that will be used as a post_filter (optional)
* - fetchSource - Get document body for each hit (optional, default to true)
* - includeSourceFields - Get only selected fields of the document body for each hit. Empty value will return all fields (optional)
* - getHierarchy - Fetch search results in hierarchical order of children elements. By default hierarchy is not fetched. Currently only supported for glossary_term_search_index. (optional, default to false)
*
* @return SearchResponse
*/
@RequestLine("GET /v1/search/query?q={q}&index={index}&deleted={deleted}&from={from}&size={size}&sort_field={sortField}&sort_order={sortOrder}&track_total_hits={trackTotalHits}&query_filter={queryFilter}&post_filter={postFilter}&fetch_source={fetchSource}&include_source_fields={includeSourceFields}&getHierarchy={getHierarchy}")
@Headers({
"Accept: application/json",
})
ApiResponse searchEntitiesWithQueryWithHttpInfo(@QueryMap(encoded=true) SearchEntitiesWithQueryQueryParams queryParams);
/**
* A convenience class for generating query parameters for the
* searchEntitiesWithQuery
method in a fluent style.
*/
public static class SearchEntitiesWithQueryQueryParams extends HashMap {
public SearchEntitiesWithQueryQueryParams q(final String value) {
put("q", EncodingUtils.encode(value));
return this;
}
public SearchEntitiesWithQueryQueryParams index(final String value) {
put("index", EncodingUtils.encode(value));
return this;
}
public SearchEntitiesWithQueryQueryParams deleted(final Boolean value) {
put("deleted", EncodingUtils.encode(value));
return this;
}
public SearchEntitiesWithQueryQueryParams from(final Integer value) {
put("from", EncodingUtils.encode(value));
return this;
}
public SearchEntitiesWithQueryQueryParams size(final Integer value) {
put("size", EncodingUtils.encode(value));
return this;
}
public SearchEntitiesWithQueryQueryParams sortField(final String value) {
put("sort_field", EncodingUtils.encode(value));
return this;
}
public SearchEntitiesWithQueryQueryParams sortOrder(final String value) {
put("sort_order", EncodingUtils.encode(value));
return this;
}
public SearchEntitiesWithQueryQueryParams trackTotalHits(final Boolean value) {
put("track_total_hits", EncodingUtils.encode(value));
return this;
}
public SearchEntitiesWithQueryQueryParams queryFilter(final String value) {
put("query_filter", EncodingUtils.encode(value));
return this;
}
public SearchEntitiesWithQueryQueryParams postFilter(final String value) {
put("post_filter", EncodingUtils.encode(value));
return this;
}
public SearchEntitiesWithQueryQueryParams fetchSource(final Boolean value) {
put("fetch_source", EncodingUtils.encode(value));
return this;
}
public SearchEntitiesWithQueryQueryParams includeSourceFields(final List value) {
put("include_source_fields", EncodingUtils.encodeCollection(value, "multi"));
return this;
}
public SearchEntitiesWithQueryQueryParams getHierarchy(final Boolean value) {
put("getHierarchy", EncodingUtils.encode(value));
return this;
}
}
/**
* Search entities
*
* @param sourceUrl source url (optional)
* @return SearchResponse
*/
@RequestLine("GET /v1/search/sourceUrl?sourceUrl={sourceUrl}")
@Headers({
"Accept: application/json",
})
SearchResponse searchEntitiesWithSourceUrl(@Param("sourceUrl") String sourceUrl);
/**
* Search entities
* Similar to searchEntitiesWithSourceUrl
but it also returns the http response headers .
*
* @param sourceUrl source url (optional)
* @return A ApiResponse that wraps the response boyd and the http headers.
*/
@RequestLine("GET /v1/search/sourceUrl?sourceUrl={sourceUrl}")
@Headers({
"Accept: application/json",
})
ApiResponse searchEntitiesWithSourceUrlWithHttpInfo(@Param("sourceUrl") String sourceUrl);
/**
* Search entities
*
* Note, this is equivalent to the other searchEntitiesWithSourceUrl
method,
* but with the query parameters collected into a single Map parameter. This
* is convenient for services with optional query parameters, especially when
* used with the {@link SearchEntitiesWithSourceUrlQueryParams} class that allows for
* building up this map in a fluent style.
* @param queryParams Map of query parameters as name-value pairs
* The following elements may be specified in the query map:
*
* - sourceUrl - source url (optional)
*
* @return SearchResponse
*/
@RequestLine("GET /v1/search/sourceUrl?sourceUrl={sourceUrl}")
@Headers({
"Accept: application/json",
})
SearchResponse searchEntitiesWithSourceUrl(@QueryMap(encoded=true) SearchEntitiesWithSourceUrlQueryParams queryParams);
/**
* Search entities
*
* Note, this is equivalent to the other searchEntitiesWithSourceUrl
that receives the query parameters as a map,
* but this one also exposes the Http response headers
* @param queryParams Map of query parameters as name-value pairs
* The following elements may be specified in the query map:
*
* - sourceUrl - source url (optional)
*
* @return SearchResponse
*/
@RequestLine("GET /v1/search/sourceUrl?sourceUrl={sourceUrl}")
@Headers({
"Accept: application/json",
})
ApiResponse searchEntitiesWithSourceUrlWithHttpInfo(@QueryMap(encoded=true) SearchEntitiesWithSourceUrlQueryParams queryParams);
/**
* A convenience class for generating query parameters for the
* searchEntitiesWithSourceUrl
method in a fluent style.
*/
public static class SearchEntitiesWithSourceUrlQueryParams extends HashMap {
public SearchEntitiesWithSourceUrlQueryParams sourceUrl(final String value) {
put("sourceUrl", EncodingUtils.encode(value));
return this;
}
}
/**
* Search entities
*
* @param fieldName field name (optional)
* @param fieldValue field value (optional)
* @param index Search Index name, defaults to table_search_index (optional, default to table_search_index)
* @return SearchResponse
*/
@RequestLine("GET /v1/search/fieldQuery?fieldName={fieldName}&fieldValue={fieldValue}&index={index}")
@Headers({
"Accept: application/json",
})
SearchResponse searchEntitiesWithSpecificFieldAndValue(@Param("fieldName") String fieldName, @Param("fieldValue") String fieldValue, @Param("index") String index);
/**
* Search entities
* Similar to searchEntitiesWithSpecificFieldAndValue
but it also returns the http response headers .
*
* @param fieldName field name (optional)
* @param fieldValue field value (optional)
* @param index Search Index name, defaults to table_search_index (optional, default to table_search_index)
* @return A ApiResponse that wraps the response boyd and the http headers.
*/
@RequestLine("GET /v1/search/fieldQuery?fieldName={fieldName}&fieldValue={fieldValue}&index={index}")
@Headers({
"Accept: application/json",
})
ApiResponse searchEntitiesWithSpecificFieldAndValueWithHttpInfo(@Param("fieldName") String fieldName, @Param("fieldValue") String fieldValue, @Param("index") String index);
/**
* Search entities
*
* Note, this is equivalent to the other searchEntitiesWithSpecificFieldAndValue
method,
* but with the query parameters collected into a single Map parameter. This
* is convenient for services with optional query parameters, especially when
* used with the {@link SearchEntitiesWithSpecificFieldAndValueQueryParams} class that allows for
* building up this map in a fluent style.
* @param queryParams Map of query parameters as name-value pairs
* The following elements may be specified in the query map:
*
* - fieldName - field name (optional)
* - fieldValue - field value (optional)
* - index - Search Index name, defaults to table_search_index (optional, default to table_search_index)
*
* @return SearchResponse
*/
@RequestLine("GET /v1/search/fieldQuery?fieldName={fieldName}&fieldValue={fieldValue}&index={index}")
@Headers({
"Accept: application/json",
})
SearchResponse searchEntitiesWithSpecificFieldAndValue(@QueryMap(encoded=true) SearchEntitiesWithSpecificFieldAndValueQueryParams queryParams);
/**
* Search entities
*
* Note, this is equivalent to the other searchEntitiesWithSpecificFieldAndValue
that receives the query parameters as a map,
* but this one also exposes the Http response headers
* @param queryParams Map of query parameters as name-value pairs
* The following elements may be specified in the query map:
*
* - fieldName - field name (optional)
* - fieldValue - field value (optional)
* - index - Search Index name, defaults to table_search_index (optional, default to table_search_index)
*
* @return SearchResponse
*/
@RequestLine("GET /v1/search/fieldQuery?fieldName={fieldName}&fieldValue={fieldValue}&index={index}")
@Headers({
"Accept: application/json",
})
ApiResponse searchEntitiesWithSpecificFieldAndValueWithHttpInfo(@QueryMap(encoded=true) SearchEntitiesWithSpecificFieldAndValueQueryParams queryParams);
/**
* A convenience class for generating query parameters for the
* searchEntitiesWithSpecificFieldAndValue
method in a fluent style.
*/
public static class SearchEntitiesWithSpecificFieldAndValueQueryParams extends HashMap {
public SearchEntitiesWithSpecificFieldAndValueQueryParams fieldName(final String value) {
put("fieldName", EncodingUtils.encode(value));
return this;
}
public SearchEntitiesWithSpecificFieldAndValueQueryParams fieldValue(final String value) {
put("fieldValue", EncodingUtils.encode(value));
return this;
}
public SearchEntitiesWithSpecificFieldAndValueQueryParams index(final String value) {
put("index", EncodingUtils.encode(value));
return this;
}
}
/**
* Search entities in ES index with Id
*
* @param id document Id (required)
* @param index Index Name (required)
* @return SearchResponse
*/
@RequestLine("GET /v1/search/get/{index}/doc/{id}")
@Headers({
"Accept: application/json",
})
SearchResponse searchEntityInEsIndexWithId(@Param("id") UUID id, @Param("index") String index);
/**
* Search entities in ES index with Id
* Similar to searchEntityInEsIndexWithId
but it also returns the http response headers .
*
* @param id document Id (required)
* @param index Index Name (required)
* @return A ApiResponse that wraps the response boyd and the http headers.
*/
@RequestLine("GET /v1/search/get/{index}/doc/{id}")
@Headers({
"Accept: application/json",
})
ApiResponse searchEntityInEsIndexWithIdWithHttpInfo(@Param("id") UUID id, @Param("index") String index);
}