blob: 1e0d0a6bd099664f753e9afc2ec520ee8dbb5d1e [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>ElasticsearchIO.DocToBulk (Apache Beam 2.47.0)</title>
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="ElasticsearchIO.DocToBulk (Apache Beam 2.47.0)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.ConnectionConfiguration.html" title="class in org.apache.beam.sdk.io.elasticsearch"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.Document.html" title="class in org.apache.beam.sdk.io.elasticsearch"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.DocToBulk.html" target="_top">Frames</a></li>
<li><a href="ElasticsearchIO.DocToBulk.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#fields.inherited.from.class.org.apache.beam.sdk.transforms.PTransform">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.beam.sdk.io.elasticsearch</div>
<h2 title="Class ElasticsearchIO.DocToBulk" class="title">Class ElasticsearchIO.DocToBulk</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="../../../../../../org/apache/beam/sdk/transforms/PTransform.html" title="class in org.apache.beam.sdk.transforms">org.apache.beam.sdk.transforms.PTransform</a>&lt;<a href="../../../../../../org/apache/beam/sdk/values/PCollection.html" title="class in org.apache.beam.sdk.values">PCollection</a>&lt;java.lang.String&gt;,<a href="../../../../../../org/apache/beam/sdk/values/PCollection.html" title="class in org.apache.beam.sdk.values">PCollection</a>&lt;<a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.Document.html" title="class in org.apache.beam.sdk.io.elasticsearch">ElasticsearchIO.Document</a>&gt;&gt;</li>
<li>
<ul class="inheritance">
<li>org.apache.beam.sdk.io.elasticsearch.ElasticsearchIO.DocToBulk</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd>java.io.Serializable, <a href="../../../../../../org/apache/beam/sdk/transforms/display/HasDisplayData.html" title="interface in org.apache.beam.sdk.transforms.display">HasDisplayData</a></dd>
</dl>
<dl>
<dt>Enclosing class:</dt>
<dd><a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.html" title="class in org.apache.beam.sdk.io.elasticsearch">ElasticsearchIO</a></dd>
</dl>
<hr>
<br>
<pre>public abstract static class <span class="typeNameLabel">ElasticsearchIO.DocToBulk</span>
extends <a href="../../../../../../org/apache/beam/sdk/transforms/PTransform.html" title="class in org.apache.beam.sdk.transforms">PTransform</a>&lt;<a href="../../../../../../org/apache/beam/sdk/values/PCollection.html" title="class in org.apache.beam.sdk.values">PCollection</a>&lt;java.lang.String&gt;,<a href="../../../../../../org/apache/beam/sdk/values/PCollection.html" title="class in org.apache.beam.sdk.values">PCollection</a>&lt;<a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.Document.html" title="class in org.apache.beam.sdk.io.elasticsearch">ElasticsearchIO.Document</a>&gt;&gt;</pre>
<div class="block">A <a href="../../../../../../org/apache/beam/sdk/transforms/PTransform.html" title="class in org.apache.beam.sdk.transforms"><code>PTransform</code></a> converting docs to their Bulk API counterparts.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../serialized-form.html#org.apache.beam.sdk.io.elasticsearch.ElasticsearchIO.DocToBulk">Serialized Form</a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.beam.sdk.transforms.PTransform">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.beam.sdk.transforms.<a href="../../../../../../org/apache/beam/sdk/transforms/PTransform.html" title="class in org.apache.beam.sdk.transforms">PTransform</a></h3>
<code><a href="../../../../../../org/apache/beam/sdk/transforms/PTransform.html#name">name</a>, <a href="../../../../../../org/apache/beam/sdk/transforms/PTransform.html#resourceHints">resourceHints</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.DocToBulk.html#DocToBulk--">DocToBulk</a></span>()</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/beam/sdk/values/PCollection.html" title="class in org.apache.beam.sdk.values">PCollection</a>&lt;<a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.Document.html" title="class in org.apache.beam.sdk.io.elasticsearch">ElasticsearchIO.Document</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.DocToBulk.html#expand-org.apache.beam.sdk.values.PCollection-">expand</a></span>(<a href="../../../../../../org/apache/beam/sdk/values/PCollection.html" title="class in org.apache.beam.sdk.values">PCollection</a>&lt;java.lang.String&gt;&nbsp;docs)</code>
<div class="block">Override this method to specify how this <code>PTransform</code> should be expanded on the given
<code>InputT</code>.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.DocToBulk.html" title="class in org.apache.beam.sdk.io.elasticsearch">ElasticsearchIO.DocToBulk</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.DocToBulk.html#withAppendOnly-boolean-">withAppendOnly</a></span>(boolean&nbsp;appendOnly)</code>
<div class="block">Provide an instruction to control whether the target index should be considered append-only.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.DocToBulk.html" title="class in org.apache.beam.sdk.io.elasticsearch">ElasticsearchIO.DocToBulk</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.DocToBulk.html#withBackendVersion-int-">withBackendVersion</a></span>(int&nbsp;backendVersion)</code>
<div class="block">Use to set explicitly which version of Elasticsearch the destination cluster is running.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.DocToBulk.html" title="class in org.apache.beam.sdk.io.elasticsearch">ElasticsearchIO.DocToBulk</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.DocToBulk.html#withConnectionConfiguration-org.apache.beam.sdk.io.elasticsearch.ElasticsearchIO.ConnectionConfiguration-">withConnectionConfiguration</a></span>(<a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.ConnectionConfiguration.html" title="class in org.apache.beam.sdk.io.elasticsearch">ElasticsearchIO.ConnectionConfiguration</a>&nbsp;connectionConfiguration)</code>
<div class="block">Provide the Elasticsearch connection configuration object.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.DocToBulk.html" title="class in org.apache.beam.sdk.io.elasticsearch">ElasticsearchIO.DocToBulk</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.DocToBulk.html#withDocVersionFn-org.apache.beam.sdk.io.elasticsearch.ElasticsearchIO.Write.FieldValueExtractFn-">withDocVersionFn</a></span>(<a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.Write.FieldValueExtractFn.html" title="interface in org.apache.beam.sdk.io.elasticsearch">ElasticsearchIO.Write.FieldValueExtractFn</a>&nbsp;docVersionFn)</code>
<div class="block">Provide a function to extract the doc version from the document.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.DocToBulk.html" title="class in org.apache.beam.sdk.io.elasticsearch">ElasticsearchIO.DocToBulk</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.DocToBulk.html#withDocVersionType-java.lang.String-">withDocVersionType</a></span>(java.lang.String&nbsp;docVersionType)</code>
<div class="block">Provide a function to extract the doc version from the document.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.DocToBulk.html" title="class in org.apache.beam.sdk.io.elasticsearch">ElasticsearchIO.DocToBulk</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.DocToBulk.html#withIdFn-org.apache.beam.sdk.io.elasticsearch.ElasticsearchIO.Write.FieldValueExtractFn-">withIdFn</a></span>(<a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.Write.FieldValueExtractFn.html" title="interface in org.apache.beam.sdk.io.elasticsearch">ElasticsearchIO.Write.FieldValueExtractFn</a>&nbsp;idFn)</code>
<div class="block">Provide a function to extract the id from the document.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.DocToBulk.html" title="class in org.apache.beam.sdk.io.elasticsearch">ElasticsearchIO.DocToBulk</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.DocToBulk.html#withIndexFn-org.apache.beam.sdk.io.elasticsearch.ElasticsearchIO.Write.FieldValueExtractFn-">withIndexFn</a></span>(<a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.Write.FieldValueExtractFn.html" title="interface in org.apache.beam.sdk.io.elasticsearch">ElasticsearchIO.Write.FieldValueExtractFn</a>&nbsp;indexFn)</code>
<div class="block">Provide a function to extract the target index from the document allowing for dynamic
document routing.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.DocToBulk.html" title="class in org.apache.beam.sdk.io.elasticsearch">ElasticsearchIO.DocToBulk</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.DocToBulk.html#withIsDeleteFn-org.apache.beam.sdk.io.elasticsearch.ElasticsearchIO.Write.BooleanFieldValueExtractFn-">withIsDeleteFn</a></span>(<a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.Write.BooleanFieldValueExtractFn.html" title="interface in org.apache.beam.sdk.io.elasticsearch">ElasticsearchIO.Write.BooleanFieldValueExtractFn</a>&nbsp;isDeleteFn)</code>
<div class="block">Provide a function to extract the target operation either upsert or delete from the document
fields allowing dynamic bulk operation decision.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.DocToBulk.html" title="class in org.apache.beam.sdk.io.elasticsearch">ElasticsearchIO.DocToBulk</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.DocToBulk.html#withRoutingFn-org.apache.beam.sdk.io.elasticsearch.ElasticsearchIO.Write.FieldValueExtractFn-">withRoutingFn</a></span>(<a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.Write.FieldValueExtractFn.html" title="interface in org.apache.beam.sdk.io.elasticsearch">ElasticsearchIO.Write.FieldValueExtractFn</a>&nbsp;routingFn)</code>
<div class="block">Provide a function to extract the target routing from the document allowing for dynamic
document routing.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.DocToBulk.html" title="class in org.apache.beam.sdk.io.elasticsearch">ElasticsearchIO.DocToBulk</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.DocToBulk.html#withTypeFn-org.apache.beam.sdk.io.elasticsearch.ElasticsearchIO.Write.FieldValueExtractFn-">withTypeFn</a></span>(<a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.Write.FieldValueExtractFn.html" title="interface in org.apache.beam.sdk.io.elasticsearch">ElasticsearchIO.Write.FieldValueExtractFn</a>&nbsp;typeFn)</code>
<div class="block">Provide a function to extract the target type from the document allowing for dynamic document
routing.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.DocToBulk.html" title="class in org.apache.beam.sdk.io.elasticsearch">ElasticsearchIO.DocToBulk</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.DocToBulk.html#withUpsertScript-java.lang.String-">withUpsertScript</a></span>(java.lang.String&nbsp;source)</code>
<div class="block">Whether to use scripted updates and what script to use.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.DocToBulk.html" title="class in org.apache.beam.sdk.io.elasticsearch">ElasticsearchIO.DocToBulk</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.DocToBulk.html#withUsePartialUpdate-boolean-">withUsePartialUpdate</a></span>(boolean&nbsp;usePartialUpdate)</code>
<div class="block">Provide an instruction to control whether partial updates or inserts (default) are issued to
Elasticsearch.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.beam.sdk.transforms.PTransform">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.beam.sdk.transforms.<a href="../../../../../../org/apache/beam/sdk/transforms/PTransform.html" title="class in org.apache.beam.sdk.transforms">PTransform</a></h3>
<code><a href="../../../../../../org/apache/beam/sdk/transforms/PTransform.html#compose-org.apache.beam.sdk.transforms.SerializableFunction-">compose</a>, <a href="../../../../../../org/apache/beam/sdk/transforms/PTransform.html#compose-java.lang.String-org.apache.beam.sdk.transforms.SerializableFunction-">compose</a>, <a href="../../../../../../org/apache/beam/sdk/transforms/PTransform.html#getAdditionalInputs--">getAdditionalInputs</a>, <a href="../../../../../../org/apache/beam/sdk/transforms/PTransform.html#getDefaultOutputCoder--">getDefaultOutputCoder</a>, <a href="../../../../../../org/apache/beam/sdk/transforms/PTransform.html#getDefaultOutputCoder-InputT-">getDefaultOutputCoder</a>, <a href="../../../../../../org/apache/beam/sdk/transforms/PTransform.html#getDefaultOutputCoder-InputT-org.apache.beam.sdk.values.PCollection-">getDefaultOutputCoder</a>, <a href="../../../../../../org/apache/beam/sdk/transforms/PTransform.html#getKindString--">getKindString</a>, <a href="../../../../../../org/apache/beam/sdk/transforms/PTransform.html#getName--">getName</a>, <a href="../../../../../../org/apache/beam/sdk/transforms/PTransform.html#getResourceHints--">getResourceHints</a>, <a href="../../../../../../org/apache/beam/sdk/transforms/PTransform.html#populateDisplayData-org.apache.beam.sdk.transforms.display.DisplayData.Builder-">populateDisplayData</a>, <a href="../../../../../../org/apache/beam/sdk/transforms/PTransform.html#setResourceHints-org.apache.beam.sdk.transforms.resourcehints.ResourceHints-">setResourceHints</a>, <a href="../../../../../../org/apache/beam/sdk/transforms/PTransform.html#toString--">toString</a>, <a href="../../../../../../org/apache/beam/sdk/transforms/PTransform.html#validate-org.apache.beam.sdk.options.PipelineOptions-">validate</a>, <a href="../../../../../../org/apache/beam/sdk/transforms/PTransform.html#validate-org.apache.beam.sdk.options.PipelineOptions-java.util.Map-java.util.Map-">validate</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="DocToBulk--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>DocToBulk</h4>
<pre>public&nbsp;DocToBulk()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="withConnectionConfiguration-org.apache.beam.sdk.io.elasticsearch.ElasticsearchIO.ConnectionConfiguration-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withConnectionConfiguration</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.DocToBulk.html" title="class in org.apache.beam.sdk.io.elasticsearch">ElasticsearchIO.DocToBulk</a>&nbsp;withConnectionConfiguration(<a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.ConnectionConfiguration.html" title="class in org.apache.beam.sdk.io.elasticsearch">ElasticsearchIO.ConnectionConfiguration</a>&nbsp;connectionConfiguration)</pre>
<div class="block">Provide the Elasticsearch connection configuration object. Only required if
withBackendVersion was not used i.e. getBackendVersion() returns null.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>connectionConfiguration</code> - the Elasticsearch <a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.ConnectionConfiguration.html" title="class in org.apache.beam.sdk.io.elasticsearch"><code>ElasticsearchIO.ConnectionConfiguration</code></a> object</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.DocToBulk.html" title="class in org.apache.beam.sdk.io.elasticsearch"><code>ElasticsearchIO.DocToBulk</code></a> with connection configuration set</dd>
</dl>
</li>
</ul>
<a name="withIdFn-org.apache.beam.sdk.io.elasticsearch.ElasticsearchIO.Write.FieldValueExtractFn-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withIdFn</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.DocToBulk.html" title="class in org.apache.beam.sdk.io.elasticsearch">ElasticsearchIO.DocToBulk</a>&nbsp;withIdFn(<a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.Write.FieldValueExtractFn.html" title="interface in org.apache.beam.sdk.io.elasticsearch">ElasticsearchIO.Write.FieldValueExtractFn</a>&nbsp;idFn)</pre>
<div class="block">Provide a function to extract the id from the document. This id will be used as the document
id in Elasticsearch. Should the function throw an Exception then the batch will fail and the
exception propagated.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>idFn</code> - to extract the document ID</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.DocToBulk.html" title="class in org.apache.beam.sdk.io.elasticsearch"><code>ElasticsearchIO.DocToBulk</code></a> with the function set</dd>
</dl>
</li>
</ul>
<a name="withIndexFn-org.apache.beam.sdk.io.elasticsearch.ElasticsearchIO.Write.FieldValueExtractFn-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withIndexFn</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.DocToBulk.html" title="class in org.apache.beam.sdk.io.elasticsearch">ElasticsearchIO.DocToBulk</a>&nbsp;withIndexFn(<a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.Write.FieldValueExtractFn.html" title="interface in org.apache.beam.sdk.io.elasticsearch">ElasticsearchIO.Write.FieldValueExtractFn</a>&nbsp;indexFn)</pre>
<div class="block">Provide a function to extract the target index from the document allowing for dynamic
document routing. Should the function throw an Exception then the batch will fail and the
exception propagated.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>indexFn</code> - to extract the destination index from</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.DocToBulk.html" title="class in org.apache.beam.sdk.io.elasticsearch"><code>ElasticsearchIO.DocToBulk</code></a> with the function set</dd>
</dl>
</li>
</ul>
<a name="withRoutingFn-org.apache.beam.sdk.io.elasticsearch.ElasticsearchIO.Write.FieldValueExtractFn-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withRoutingFn</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.DocToBulk.html" title="class in org.apache.beam.sdk.io.elasticsearch">ElasticsearchIO.DocToBulk</a>&nbsp;withRoutingFn(<a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.Write.FieldValueExtractFn.html" title="interface in org.apache.beam.sdk.io.elasticsearch">ElasticsearchIO.Write.FieldValueExtractFn</a>&nbsp;routingFn)</pre>
<div class="block">Provide a function to extract the target routing from the document allowing for dynamic
document routing. Should the function throw an Exception then the batch will fail and the
exception propagated.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>routingFn</code> - to extract the destination index from</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.DocToBulk.html" title="class in org.apache.beam.sdk.io.elasticsearch"><code>ElasticsearchIO.DocToBulk</code></a> with the function set</dd>
</dl>
</li>
</ul>
<a name="withTypeFn-org.apache.beam.sdk.io.elasticsearch.ElasticsearchIO.Write.FieldValueExtractFn-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withTypeFn</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.DocToBulk.html" title="class in org.apache.beam.sdk.io.elasticsearch">ElasticsearchIO.DocToBulk</a>&nbsp;withTypeFn(<a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.Write.FieldValueExtractFn.html" title="interface in org.apache.beam.sdk.io.elasticsearch">ElasticsearchIO.Write.FieldValueExtractFn</a>&nbsp;typeFn)</pre>
<div class="block">Provide a function to extract the target type from the document allowing for dynamic document
routing. Should the function throw an Exception then the batch will fail and the exception
propagated. Users are encouraged to consider carefully if multipe types are a sensible model
<a
href="https://www.elastic.co/blog/index-type-parent-child-join-now-future-in-elasticsearch">as
discussed in this blog</a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>typeFn</code> - to extract the destination index from</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.DocToBulk.html" title="class in org.apache.beam.sdk.io.elasticsearch"><code>ElasticsearchIO.DocToBulk</code></a> with the function set</dd>
</dl>
</li>
</ul>
<a name="withUsePartialUpdate-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withUsePartialUpdate</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.DocToBulk.html" title="class in org.apache.beam.sdk.io.elasticsearch">ElasticsearchIO.DocToBulk</a>&nbsp;withUsePartialUpdate(boolean&nbsp;usePartialUpdate)</pre>
<div class="block">Provide an instruction to control whether partial updates or inserts (default) are issued to
Elasticsearch.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>usePartialUpdate</code> - set to true to issue partial updates</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.DocToBulk.html" title="class in org.apache.beam.sdk.io.elasticsearch"><code>ElasticsearchIO.DocToBulk</code></a> with the partial update control set</dd>
</dl>
</li>
</ul>
<a name="withAppendOnly-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withAppendOnly</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.DocToBulk.html" title="class in org.apache.beam.sdk.io.elasticsearch">ElasticsearchIO.DocToBulk</a>&nbsp;withAppendOnly(boolean&nbsp;appendOnly)</pre>
<div class="block">Provide an instruction to control whether the target index should be considered append-only.
For append-only indexes and/or data streams, only <code>create</code> operations will be issued,
instead of <code>index</code>, which is the default.
<p><code>create</code> fails if a document with the same ID already exists in the target, <code>index</code> adds or replaces a document as necessary. If no ID is provided, both operations are
equivalent, unless you are writing to a <a
href="https://www.elastic.co/guide/en/elasticsearch/reference/current/data-streams.html">data
stream</a>. Data streams only support the <code>create</code> operation. For more information see
the <a
href="https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.html#docs-bulk-api-desc>
Elasticsearch documentation</a>
<p>Updates and deletions are not allowed, so related options will be ignored.
<p>When the documents contain</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>appendOnly</code> - set to true to allow only document appending</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.DocToBulk.html" title="class in org.apache.beam.sdk.io.elasticsearch"><code>ElasticsearchIO.DocToBulk</code></a> with the-append only control set</dd>
</dl>
</li>
</ul>
<a name="withUpsertScript-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withUpsertScript</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.DocToBulk.html" title="class in org.apache.beam.sdk.io.elasticsearch">ElasticsearchIO.DocToBulk</a>&nbsp;withUpsertScript(java.lang.String&nbsp;source)</pre>
<div class="block">Whether to use scripted updates and what script to use.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>source</code> - set to the value of the script source, painless lang</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.DocToBulk.html" title="class in org.apache.beam.sdk.io.elasticsearch"><code>ElasticsearchIO.DocToBulk</code></a> with the scripted updates set</dd>
</dl>
</li>
</ul>
<a name="withDocVersionFn-org.apache.beam.sdk.io.elasticsearch.ElasticsearchIO.Write.FieldValueExtractFn-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withDocVersionFn</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.DocToBulk.html" title="class in org.apache.beam.sdk.io.elasticsearch">ElasticsearchIO.DocToBulk</a>&nbsp;withDocVersionFn(<a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.Write.FieldValueExtractFn.html" title="interface in org.apache.beam.sdk.io.elasticsearch">ElasticsearchIO.Write.FieldValueExtractFn</a>&nbsp;docVersionFn)</pre>
<div class="block">Provide a function to extract the doc version from the document. This version number will be
used as the document version in Elasticsearch. Should the function throw an Exception then
the batch will fail and the exception propagated. Incompatible with update operations and
should only be used with withUsePartialUpdate(false)</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>docVersionFn</code> - to extract the document version</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.DocToBulk.html" title="class in org.apache.beam.sdk.io.elasticsearch"><code>ElasticsearchIO.DocToBulk</code></a> with the function set</dd>
</dl>
</li>
</ul>
<a name="withIsDeleteFn-org.apache.beam.sdk.io.elasticsearch.ElasticsearchIO.Write.BooleanFieldValueExtractFn-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withIsDeleteFn</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.DocToBulk.html" title="class in org.apache.beam.sdk.io.elasticsearch">ElasticsearchIO.DocToBulk</a>&nbsp;withIsDeleteFn(<a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.Write.BooleanFieldValueExtractFn.html" title="interface in org.apache.beam.sdk.io.elasticsearch">ElasticsearchIO.Write.BooleanFieldValueExtractFn</a>&nbsp;isDeleteFn)</pre>
<div class="block">Provide a function to extract the target operation either upsert or delete from the document
fields allowing dynamic bulk operation decision. While using withIsDeleteFn, it should be
taken care that the document's id extraction is defined using the withIdFn function or else
IllegalArgumentException is thrown. Should the function throw an Exception then the batch
will fail and the exception propagated.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>isDeleteFn</code> - set to true for deleting the specific document</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.Write.html" title="class in org.apache.beam.sdk.io.elasticsearch"><code>ElasticsearchIO.Write</code></a> with the function set</dd>
</dl>
</li>
</ul>
<a name="withDocVersionType-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withDocVersionType</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.DocToBulk.html" title="class in org.apache.beam.sdk.io.elasticsearch">ElasticsearchIO.DocToBulk</a>&nbsp;withDocVersionType(java.lang.String&nbsp;docVersionType)</pre>
<div class="block">Provide a function to extract the doc version from the document. This version number will be
used as the document version in Elasticsearch. Should the function throw an Exception then
the batch will fail and the exception propagated. Incompatible with update operations and
should only be used with withUsePartialUpdate(false)</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>docVersionType</code> - the version type to use, one of </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.DocToBulk.html" title="class in org.apache.beam.sdk.io.elasticsearch"><code>ElasticsearchIO.DocToBulk</code></a> with the doc version type set</dd>
</dl>
</li>
</ul>
<a name="withBackendVersion-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withBackendVersion</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.DocToBulk.html" title="class in org.apache.beam.sdk.io.elasticsearch">ElasticsearchIO.DocToBulk</a>&nbsp;withBackendVersion(int&nbsp;backendVersion)</pre>
<div class="block">Use to set explicitly which version of Elasticsearch the destination cluster is running.
Providing this hint means there is no need for setting <a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.DocToBulk.html#withConnectionConfiguration-org.apache.beam.sdk.io.elasticsearch.ElasticsearchIO.ConnectionConfiguration-"><code>withConnectionConfiguration(org.apache.beam.sdk.io.elasticsearch.ElasticsearchIO.ConnectionConfiguration)</code></a>. This can also be very useful for testing purposes.
<p>Note: if the value of @param backendVersion differs from the version the destination
cluster is running, behavior is undefined and likely to yield errors.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>backendVersion</code> - the major version number of the version of Elasticsearch being run in
the cluster where documents will be indexed.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.DocToBulk.html" title="class in org.apache.beam.sdk.io.elasticsearch"><code>ElasticsearchIO.DocToBulk</code></a> with the Elasticsearch major version number set</dd>
</dl>
</li>
</ul>
<a name="expand-org.apache.beam.sdk.values.PCollection-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>expand</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/beam/sdk/values/PCollection.html" title="class in org.apache.beam.sdk.values">PCollection</a>&lt;<a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.Document.html" title="class in org.apache.beam.sdk.io.elasticsearch">ElasticsearchIO.Document</a>&gt;&nbsp;expand(<a href="../../../../../../org/apache/beam/sdk/values/PCollection.html" title="class in org.apache.beam.sdk.values">PCollection</a>&lt;java.lang.String&gt;&nbsp;docs)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/beam/sdk/transforms/PTransform.html#expand-InputT-">PTransform</a></code></span></div>
<div class="block">Override this method to specify how this <code>PTransform</code> should be expanded on the given
<code>InputT</code>.
<p>NOTE: This method should not be called directly. Instead apply the <code>PTransform</code> should
be applied to the <code>InputT</code> using the <code>apply</code> method.
<p>Composite transforms, which are defined in terms of other transforms, should return the
output of one of the composed transforms. Non-composite transforms, which do not apply any
transforms internally, should return a new unbound output and register evaluators (via
backend-specific registration methods).</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/beam/sdk/transforms/PTransform.html#expand-InputT-">expand</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/beam/sdk/transforms/PTransform.html" title="class in org.apache.beam.sdk.transforms">PTransform</a>&lt;<a href="../../../../../../org/apache/beam/sdk/values/PCollection.html" title="class in org.apache.beam.sdk.values">PCollection</a>&lt;java.lang.String&gt;,<a href="../../../../../../org/apache/beam/sdk/values/PCollection.html" title="class in org.apache.beam.sdk.values">PCollection</a>&lt;<a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.Document.html" title="class in org.apache.beam.sdk.io.elasticsearch">ElasticsearchIO.Document</a>&gt;&gt;</code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.ConnectionConfiguration.html" title="class in org.apache.beam.sdk.io.elasticsearch"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.Document.html" title="class in org.apache.beam.sdk.io.elasticsearch"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.DocToBulk.html" target="_top">Frames</a></li>
<li><a href="ElasticsearchIO.DocToBulk.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#fields.inherited.from.class.org.apache.beam.sdk.transforms.PTransform">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>