Class ElasticsearchSynonymsClient
- All Implemented Interfaces:
Closeable
,AutoCloseable
-
Field Summary
Fields inherited from class co.elastic.clients.ApiClient
transport, transportOptions
-
Constructor Summary
ConstructorsConstructorDescriptionElasticsearchSynonymsClient
(ElasticsearchTransport transport, TransportOptions transportOptions) -
Method Summary
Modifier and TypeMethodDescriptiondeleteSynonym
(DeleteSynonymRequest request) Delete a synonym set.final DeleteSynonymResponse
Delete a synonym set.Delete a synonym rule.deleteSynonymRule
(Function<DeleteSynonymRuleRequest.Builder, ObjectBuilder<DeleteSynonymRuleRequest>> fn) Delete a synonym rule.getSynonym
(GetSynonymRequest request) Get a synonym set.final GetSynonymResponse
Get a synonym set.getSynonymRule
(GetSynonymRuleRequest request) Get a synonym rule.final GetSynonymRuleResponse
Get a synonym rule.Get all synonym sets.getSynonymsSets
(GetSynonymsSetsRequest request) Get all synonym sets.final GetSynonymsSetsResponse
Get all synonym sets.putSynonym
(PutSynonymRequest request) Create or update a synonym set.final PutSynonymResponse
Create or update a synonym set.putSynonymRule
(PutSynonymRuleRequest request) Create or update a synonym rule.final PutSynonymRuleResponse
Create or update a synonym rule.withTransportOptions
(TransportOptions transportOptions) Creates a new client with some request optionsMethods inherited from class co.elastic.clients.ApiClient
_jsonpMapper, _transport, _transportOptions, close, getDeserializer, withTransportOptions
-
Constructor Details
-
ElasticsearchSynonymsClient
-
ElasticsearchSynonymsClient
public ElasticsearchSynonymsClient(ElasticsearchTransport transport, @Nullable TransportOptions transportOptions)
-
-
Method Details
-
withTransportOptions
public ElasticsearchSynonymsClient withTransportOptions(@Nullable TransportOptions transportOptions) Description copied from class:ApiClient
Creates a new client with some request options- Specified by:
withTransportOptions
in classApiClient<ElasticsearchTransport,
ElasticsearchSynonymsClient>
-
deleteSynonym
public DeleteSynonymResponse deleteSynonym(DeleteSynonymRequest request) throws IOException, ElasticsearchException Delete a synonym set.You can only delete a synonyms set that is not in use by any index analyzer.
Synonyms sets can be used in synonym graph token filters and synonym token filters. These synonym filters can be used as part of search analyzers.
Analyzers need to be loaded when an index is restored (such as when a node starts, or the index becomes open). Even if the analyzer is not used on any field mapping, it still needs to be loaded on the index recovery phase.
If any analyzers cannot be loaded, the index becomes unavailable and the cluster status becomes red or yellow as index shards are not available. To prevent that, synonyms sets that are used in analyzers can't be deleted. A delete request in this case will return a 400 response code.
To remove a synonyms set, you must first remove all indices that contain analyzers using it. You can migrate an index by creating a new index that does not contain the token filter with the synonyms set, and use the reindex API in order to copy over the index data. Once finished, you can delete the index. When the synonyms set is not used in analyzers, you will be able to delete it.
- Throws:
IOException
ElasticsearchException
- See Also:
-
deleteSynonym
public final DeleteSynonymResponse deleteSynonym(Function<DeleteSynonymRequest.Builder, ObjectBuilder<DeleteSynonymRequest>> fn) throws IOException, ElasticsearchExceptionDelete a synonym set.You can only delete a synonyms set that is not in use by any index analyzer.
Synonyms sets can be used in synonym graph token filters and synonym token filters. These synonym filters can be used as part of search analyzers.
Analyzers need to be loaded when an index is restored (such as when a node starts, or the index becomes open). Even if the analyzer is not used on any field mapping, it still needs to be loaded on the index recovery phase.
If any analyzers cannot be loaded, the index becomes unavailable and the cluster status becomes red or yellow as index shards are not available. To prevent that, synonyms sets that are used in analyzers can't be deleted. A delete request in this case will return a 400 response code.
To remove a synonyms set, you must first remove all indices that contain analyzers using it. You can migrate an index by creating a new index that does not contain the token filter with the synonyms set, and use the reindex API in order to copy over the index data. Once finished, you can delete the index. When the synonyms set is not used in analyzers, you will be able to delete it.
- Parameters:
fn
- a function that initializes a builder to create theDeleteSynonymRequest
- Throws:
IOException
ElasticsearchException
- See Also:
-
deleteSynonymRule
public DeleteSynonymRuleResponse deleteSynonymRule(DeleteSynonymRuleRequest request) throws IOException, ElasticsearchException Delete a synonym rule. Delete a synonym rule from a synonym set.- Throws:
IOException
ElasticsearchException
- See Also:
-
deleteSynonymRule
public final DeleteSynonymRuleResponse deleteSynonymRule(Function<DeleteSynonymRuleRequest.Builder, ObjectBuilder<DeleteSynonymRuleRequest>> fn) throws IOException, ElasticsearchExceptionDelete a synonym rule. Delete a synonym rule from a synonym set.- Parameters:
fn
- a function that initializes a builder to create theDeleteSynonymRuleRequest
- Throws:
IOException
ElasticsearchException
- See Also:
-
getSynonym
public GetSynonymResponse getSynonym(GetSynonymRequest request) throws IOException, ElasticsearchException Get a synonym set.- Throws:
IOException
ElasticsearchException
- See Also:
-
getSynonym
public final GetSynonymResponse getSynonym(Function<GetSynonymRequest.Builder, ObjectBuilder<GetSynonymRequest>> fn) throws IOException, ElasticsearchExceptionGet a synonym set.- Parameters:
fn
- a function that initializes a builder to create theGetSynonymRequest
- Throws:
IOException
ElasticsearchException
- See Also:
-
getSynonymRule
public GetSynonymRuleResponse getSynonymRule(GetSynonymRuleRequest request) throws IOException, ElasticsearchException Get a synonym rule. Get a synonym rule from a synonym set.- Throws:
IOException
ElasticsearchException
- See Also:
-
getSynonymRule
public final GetSynonymRuleResponse getSynonymRule(Function<GetSynonymRuleRequest.Builder, ObjectBuilder<GetSynonymRuleRequest>> fn) throws IOException, ElasticsearchExceptionGet a synonym rule. Get a synonym rule from a synonym set.- Parameters:
fn
- a function that initializes a builder to create theGetSynonymRuleRequest
- Throws:
IOException
ElasticsearchException
- See Also:
-
getSynonymsSets
public GetSynonymsSetsResponse getSynonymsSets(GetSynonymsSetsRequest request) throws IOException, ElasticsearchException Get all synonym sets. Get a summary of all defined synonym sets.- Throws:
IOException
ElasticsearchException
- See Also:
-
getSynonymsSets
public final GetSynonymsSetsResponse getSynonymsSets(Function<GetSynonymsSetsRequest.Builder, ObjectBuilder<GetSynonymsSetsRequest>> fn) throws IOException, ElasticsearchExceptionGet all synonym sets. Get a summary of all defined synonym sets.- Parameters:
fn
- a function that initializes a builder to create theGetSynonymsSetsRequest
- Throws:
IOException
ElasticsearchException
- See Also:
-
getSynonymsSets
Get all synonym sets. Get a summary of all defined synonym sets.- Throws:
IOException
ElasticsearchException
- See Also:
-
putSynonym
public PutSynonymResponse putSynonym(PutSynonymRequest request) throws IOException, ElasticsearchException Create or update a synonym set. Synonyms sets are limited to a maximum of 10,000 synonym rules per set. If you need to manage more synonym rules, you can create multiple synonym sets.When an existing synonyms set is updated, the search analyzers that use the synonyms set are reloaded automatically for all indices. This is equivalent to invoking the reload search analyzers API for all indices that use the synonyms set.
- Throws:
IOException
ElasticsearchException
- See Also:
-
putSynonym
public final PutSynonymResponse putSynonym(Function<PutSynonymRequest.Builder, ObjectBuilder<PutSynonymRequest>> fn) throws IOException, ElasticsearchExceptionCreate or update a synonym set. Synonyms sets are limited to a maximum of 10,000 synonym rules per set. If you need to manage more synonym rules, you can create multiple synonym sets.When an existing synonyms set is updated, the search analyzers that use the synonyms set are reloaded automatically for all indices. This is equivalent to invoking the reload search analyzers API for all indices that use the synonyms set.
- Parameters:
fn
- a function that initializes a builder to create thePutSynonymRequest
- Throws:
IOException
ElasticsearchException
- See Also:
-
putSynonymRule
public PutSynonymRuleResponse putSynonymRule(PutSynonymRuleRequest request) throws IOException, ElasticsearchException Create or update a synonym rule. Create or update a synonym rule in a synonym set.If any of the synonym rules included is invalid, the API returns an error.
When you update a synonym rule, all analyzers using the synonyms set will be reloaded automatically to reflect the new rule.
- Throws:
IOException
ElasticsearchException
- See Also:
-
putSynonymRule
public final PutSynonymRuleResponse putSynonymRule(Function<PutSynonymRuleRequest.Builder, ObjectBuilder<PutSynonymRuleRequest>> fn) throws IOException, ElasticsearchExceptionCreate or update a synonym rule. Create or update a synonym rule in a synonym set.If any of the synonym rules included is invalid, the API returns an error.
When you update a synonym rule, all analyzers using the synonyms set will be reloaded automatically to reflect the new rule.
- Parameters:
fn
- a function that initializes a builder to create thePutSynonymRuleRequest
- Throws:
IOException
ElasticsearchException
- See Also:
-