[[tika-component]]
= Tika Component
//THIS FILE IS COPIED: EDIT THE SOURCE FILE:
:page-source: components/camel-tika/src/main/docs/tika-component.adoc
:docTitle: Tika
:artifactId: camel-tika
:description: Parse documents and extract metadata and text using Apache Tika.
:since: 2.19
:supportLevel: Stable
:component-header: Only producer is supported

*Since Camel {since}*

*{component-header}*

The *Tika*: components provides the ability to detect and parse documents with 
Apache Tika. This component uses
https://tika.apache.org/[Apache Tika] as underlying library to work
with documents.

In order to use the Tika component, Maven users will need to add the
following dependency to their `pom.xml`:

*pom.xml*

[source,xml]
----
<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-tika</artifactId>
    <version>x.x.x</version>
    <!-- use the same version as your Camel core version -->
</dependency>
----

The TIKA component only supports producer endpoints.


== Options

// component options: START
The Tika component supports 2 options, which are listed below.



[width="100%",cols="2,5,^1,2",options="header"]
|===
| Name | Description | Default | Type
| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing. | false | boolean
| *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
|===
// component options: END



// endpoint options: START
The Tika endpoint is configured using URI syntax:

----
tika:operation
----

with the following path and query parameters:

=== Path Parameters (1 parameters):


[width="100%",cols="2,5,^1,2",options="header"]
|===
| Name | Description | Default | Type
| *operation* | *Required* Operation type. The value can be one of: parse, detect |  | TikaOperation
|===


=== Query Parameters (7 parameters):


[width="100%",cols="2,5,^1,2",options="header"]
|===
| Name | Description | Default | Type
| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing. | false | boolean
| *tikaConfig* (producer) | Tika Config |  | TikaConfig
| *tikaConfigUri* (producer) | Tika Config Url |  | String
| *tikaParseOutputEncoding* (producer) | Tika Parse Output Encoding |  | String
| *tikaParseOutputFormat* (producer) | Tika Output Format. Supported output formats. xml: Returns Parsed Content as XML. html: Returns Parsed Content as HTML. text: Returns Parsed Content as Text. textMain: Uses the boilerpipe library to automatically extract the main content from a web page. The value can be one of: xml, html, text, textMain | xml | TikaParseOutputFormat
| *basicPropertyBinding* (advanced) | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
|===
// endpoint options: END




== To Detect a file's MIME Type

The file should be placed in the Body.

[source,java]
----
from("direct:start")
        .to("tika:detect");
----

== To Parse a File

The file should be placed in the Body.

[source,java]
----
from("direct:start")
        .to("tika:parse");
----

include::camel-spring-boot::page$tika-starter.adoc[]
