File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
<!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 (version 1.7.0_79) on Thu Sep 17 01:49:50 IST 2015 -->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>UpdateConflictResolver (Solr 5.3.1 API)</title>
<meta name="date" content="2015-09-17">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="UpdateConflictResolver (Solr 5.3.1 API)";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><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="class-use/UpdateConflictResolver.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/solr/hadoop/dedup/SortingUpdateConflictResolver.html" title="class in org.apache.solr.hadoop.dedup"><span class="strong">Prev Class</span></a></li>
<li>Next Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/solr/hadoop/dedup/UpdateConflictResolver.html" target="_top">Frames</a></li>
<li><a href="UpdateConflictResolver.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All 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: </li>
<li>Nested | </li>
<li>Field | </li>
<li>Constr | </li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail: </li>
<li>Field | </li>
<li>Constr | </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.solr.hadoop.dedup</div>
<h2 title="Interface UpdateConflictResolver" class="title">Interface UpdateConflictResolver</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../../../org/apache/solr/hadoop/dedup/NoChangeUpdateConflictResolver.html" title="class in org.apache.solr.hadoop.dedup">NoChangeUpdateConflictResolver</a>, <a href="../../../../../org/apache/solr/hadoop/dedup/RejectingUpdateConflictResolver.html" title="class in org.apache.solr.hadoop.dedup">RejectingUpdateConflictResolver</a>, <a href="../../../../../org/apache/solr/hadoop/dedup/RetainMostRecentUpdateConflictResolver.html" title="class in org.apache.solr.hadoop.dedup">RetainMostRecentUpdateConflictResolver</a>, <a href="../../../../../org/apache/solr/hadoop/dedup/SortingUpdateConflictResolver.html" title="class in org.apache.solr.hadoop.dedup">SortingUpdateConflictResolver</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="strong">UpdateConflictResolver</span></pre>
<div class="block">Interface that enables deduplication and ordering of a series of document
updates for the same unique document key.
For example, a MapReduce batch job might index multiple files in the same job
where some of the files contain old and new versions of the very same
document, using the same unique document key.
Typically, implementations of this interface forbid collisions by throwing an
exception, or ignore all but the most recent document version, or, in the
general case, order colliding updates ascending from least recent to most
recent (partial) update.
The caller of this interface (i.e. the Hadoop Reducer) will then apply the
updates to Solr in the order returned by the orderUpdates() method.
Configuration: If an UpdateConflictResolver implementation also implements
<code>Configurable</code> then the Hadoop Reducer will call
<code>Configurable.setConf(org.apache.hadoop.conf.Configuration)</code> on
instance construction and pass the standard Hadoop configuration information.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd"> </span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://download.oracle.com/javase/7/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a><<a href="../../../../../../solr-solrj/org/apache/solr/common/SolrInputDocument.html?is-external=true" title="class or interface in org.apache.solr.common">SolrInputDocument</a>></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/solr/hadoop/dedup/UpdateConflictResolver.html#orderUpdates(org.apache.hadoop.io.Text,%20java.util.Iterator,%20org.apache.hadoop.mapreduce.Reducer.Context)">orderUpdates</a></strong>(org.apache.hadoop.io.Text uniqueKey,
<a href="http://download.oracle.com/javase/7/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a><<a href="../../../../../../solr-solrj/org/apache/solr/common/SolrInputDocument.html?is-external=true" title="class or interface in org.apache.solr.common">SolrInputDocument</a>> collidingUpdates,
org.apache.hadoop.mapreduce.Reducer.Context context)</code>
<div class="block">Given a list of all colliding document updates for the same unique document
key, this method returns zero or more documents in an application specific
order.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="orderUpdates(org.apache.hadoop.io.Text, java.util.Iterator, org.apache.hadoop.mapreduce.Reducer.Context)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>orderUpdates</h4>
<pre><a href="http://download.oracle.com/javase/7/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a><<a href="../../../../../../solr-solrj/org/apache/solr/common/SolrInputDocument.html?is-external=true" title="class or interface in org.apache.solr.common">SolrInputDocument</a>> orderUpdates(org.apache.hadoop.io.Text uniqueKey,
<a href="http://download.oracle.com/javase/7/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a><<a href="../../../../../../solr-solrj/org/apache/solr/common/SolrInputDocument.html?is-external=true" title="class or interface in org.apache.solr.common">SolrInputDocument</a>> collidingUpdates,
org.apache.hadoop.mapreduce.Reducer.Context context)</pre>
<div class="block">Given a list of all colliding document updates for the same unique document
key, this method returns zero or more documents in an application specific
order.
The caller will then apply the updates for this key to Solr in the order
returned by the orderUpdate() method.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>uniqueKey</code> - the document key common to all collidingUpdates mentioned below</dd><dd><code>collidingUpdates</code> - all updates in the MapReduce job that have a key equal to
<code>uniqueKey</code> mentioned above. The input order is unspecified.</dd><dd><code>context</code> - The <code>Context</code> passed from the <code>Reducer</code>
implementations.</dd>
<dt><span class="strong">Returns:</span></dt><dd>the order in which the updates shall be applied to Solr</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><a href="#skip-navbar_bottom" title="Skip navigation links"></a><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="class-use/UpdateConflictResolver.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/solr/hadoop/dedup/SortingUpdateConflictResolver.html" title="class in org.apache.solr.hadoop.dedup"><span class="strong">Prev Class</span></a></li>
<li>Next Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/solr/hadoop/dedup/UpdateConflictResolver.html" target="_top">Frames</a></li>
<li><a href="UpdateConflictResolver.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All 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: </li>
<li>Nested | </li>
<li>Field | </li>
<li>Constr | </li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail: </li>
<li>Field | </li>
<li>Constr | </li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>
<i>Copyright © 2000-2015 Apache Software Foundation. All Rights Reserved.</i>
<script src='../../../../../prettify.js' type='text/javascript'></script>
<script type='text/javascript'>
(function(){
var oldonload = window.onload;
if (typeof oldonload != 'function') {
window.onload = prettyPrint;
} else {
window.onload = function() {
oldonload();
prettyPrint();
}
}
})();
</script>
</small></p>
</body>
</html>