...
The ElasticSearch component allows you to interface with an ElasticSearch server. Maven users will need to add the following dependency to their pom.xml
for this component:
Code Block | ||||
---|---|---|---|---|
| ||||
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-elasticsearch</artifactId>
<version>x.x.x</version>
<!-- use the same version as your Camel core version -->
</dependency>
|
URI
...
Format
Code Block |
---|
elasticsearch://clusterName[?options]
|
Tip | ||
---|---|---|
| ||
if you want to run against a local (in JVM/classloader) ElasticSearch server, just set the the |
...
The following options may be configured on the ElasticSearch endpoint. All are required to be set as either an endpoint URI parameter or as a header (headers override endpoint properties)
name Name | descriptionDescription | ||
---|---|---|---|
| Required. The required, indicates the operation to perform. | ||
| the The name of the index to act against. | ||
| the The type of the index to act against. | ||
| From Camel 2.12. | ||
| From Camel 2.12. | port | the The |
| From Camel 2.16. Options | ||
| From Camel 2.16. Can be one of:
| ||
| From Camel 2.16. Can be one of:
| ||
| From Camel 2.16.1 / 2.17.0 Optionally used with | ||
| From Camel 2.17 Define if the client is allowed to sniff the rest of the cluster. | ||
| .12From Camel 2.17.2 Define the Default: |
Message Operations
The following ElasticSearch operations are currently supported. Simply set an endpoint URI option or an exchange header with a key of "name operation
" and a value set to one of the following. Some operations also require other parameters or the message body to be set.
operation Operation | message Message body | descriptionDescription | ||
---|---|---|---|---|
|
| adds Adds content to an index and returns the content's s From Camel 2.15: you can set the | ||
| index Index id of content to retrieve. | retrives Retrieves the specified index and returns a a | ||
| Index id of content to delete. | Deletes the specified | ||
| A | From Camel 2.14: Adds content to an index and return a | ||
| A | content to deletedeletes the specified indexId and returns a DeleteResult object in the body | any type that is already accepted ( | From Camel 2.15: Adds content to an index and returns the |
|
| From Camel 2.15: Search the content with the | ||
|
| From Camel 2.17: Retrieves the specified indexes type's specified in | ||
|
| From Camel 2.17: Search for parameters specified in | ||
| Index name as a header. | From Camel 2.17: Returns a | ||
|
| From Camel 2.17: Updates content to an index and returns the content's |
Index Example
Below is a simple simple INDEX
example:
Code Block | ||||
---|---|---|---|---|
| ||||
from("direct:index") .to("elasticsearch://local?operation=INDEX&indexName=twitter&indexType=tweet"); |
Code Block | ||||
---|---|---|---|---|
| ||||
<route> <from uri="direct:index" /> <to uri="elasticsearch://local?operation=INDEX&indexName=twitter&indexType=tweet"/> </route> |
A client would simply need to pass a body message containing a a Map
to the route. The result body contains the the indexId
created.:
Code Block | ||||
---|---|---|---|---|
| ||||
Map<String, String> map = new HashMap<String, String>();
map.put("content", "test");
String indexId = template.requestBody("direct:index", map, String.class);
|
...
Include Page |
---|
...
|
...
|