blob: 21efc7d8a53d0baf7b6e13d1ff23f71ff4590be5 [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 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ParallelSearcher (Apache Arrow Java Root POM 17.0.0-SNAPSHOT API)</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="ParallelSearcher (Apache Arrow Java Root POM 17.0.0-SNAPSHOT API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":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="class-use/ParallelSearcher.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="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li><a href="../../../../../org/apache/arrow/algorithm/search/ParallelSearcherBenchmarks.html" title="class in org.apache.arrow.algorithm.search"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/arrow/algorithm/search/ParallelSearcher.html" target="_top">Frames</a></li>
<li><a href="ParallelSearcher.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>Field&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.arrow.algorithm.search</div>
<h2 title="Class ParallelSearcher" class="title">Class ParallelSearcher&lt;V extends <a href="../../../../../org/apache/arrow/vector/ValueVector.html" title="interface in org.apache.arrow.vector">ValueVector</a>&gt;</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.arrow.algorithm.search.ParallelSearcher&lt;V&gt;</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>V</code> - the vector type.</dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">ParallelSearcher&lt;V extends <a href="../../../../../org/apache/arrow/vector/ValueVector.html" title="interface in org.apache.arrow.vector">ValueVector</a>&gt;</span>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
<div class="block">Search for a value in the vector by multiple threads.
This is often used in scenarios where the vector is large or
low response time is required.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== 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/arrow/algorithm/search/ParallelSearcher.html#ParallelSearcher-V-java.util.concurrent.ExecutorService-int-">ParallelSearcher</a></span>(<a href="../../../../../org/apache/arrow/algorithm/search/ParallelSearcher.html" title="type parameter in ParallelSearcher">V</a>&nbsp;vector,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a>&nbsp;threadPool,
int&nbsp;numThreads)</code>
<div class="block">Constructs a parallel searcher.</div>
</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>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/arrow/algorithm/search/ParallelSearcher.html#search-V-int-">search</a></span>(<a href="../../../../../org/apache/arrow/algorithm/search/ParallelSearcher.html" title="type parameter in ParallelSearcher">V</a>&nbsp;keyVector,
int&nbsp;keyIndex)</code>
<div class="block">Search for the key in the target vector.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/arrow/algorithm/search/ParallelSearcher.html#search-V-int-org.apache.arrow.algorithm.sort.VectorValueComparator-">search</a></span>(<a href="../../../../../org/apache/arrow/algorithm/search/ParallelSearcher.html" title="type parameter in ParallelSearcher">V</a>&nbsp;keyVector,
int&nbsp;keyIndex,
<a href="../../../../../org/apache/arrow/algorithm/sort/VectorValueComparator.html" title="class in org.apache.arrow.algorithm.sort">VectorValueComparator</a>&lt;<a href="../../../../../org/apache/arrow/algorithm/search/ParallelSearcher.html" title="type parameter in ParallelSearcher">V</a>&gt;&nbsp;comparator)</code>
<div class="block">Search for the key in the target vector.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></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="ParallelSearcher-org.apache.arrow.vector.ValueVector-java.util.concurrent.ExecutorService-int-">
<!-- -->
</a><a name="ParallelSearcher-V-java.util.concurrent.ExecutorService-int-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>ParallelSearcher</h4>
<pre>public&nbsp;ParallelSearcher(<a href="../../../../../org/apache/arrow/algorithm/search/ParallelSearcher.html" title="type parameter in ParallelSearcher">V</a>&nbsp;vector,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a>&nbsp;threadPool,
int&nbsp;numThreads)</pre>
<div class="block">Constructs a parallel searcher.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>vector</code> - the vector to search.</dd>
<dd><code>threadPool</code> - the thread pool to use.</dd>
<dd><code>numThreads</code> - the number of threads to use.</dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="search-org.apache.arrow.vector.ValueVector-int-">
<!-- -->
</a><a name="search-V-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>search</h4>
<pre>public&nbsp;int&nbsp;search(<a href="../../../../../org/apache/arrow/algorithm/search/ParallelSearcher.html" title="type parameter in ParallelSearcher">V</a>&nbsp;keyVector,
int&nbsp;keyIndex)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutionException.html?is-external=true" title="class or interface in java.util.concurrent">ExecutionException</a>,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
<div class="block">Search for the key in the target vector. The element-wise comparison is based on
<a href="../../../../../org/apache/arrow/vector/compare/RangeEqualsVisitor.html" title="class in org.apache.arrow.vector.compare"><code>RangeEqualsVisitor</code></a>, so there are two possible results for each element-wise
comparison: equal and un-equal.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>keyVector</code> - the vector containing the search key.</dd>
<dd><code>keyIndex</code> - the index of the search key in the key vector.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the position of a matched value in the target vector,
or -1 if none is found. Please note that if there are multiple
matches of the key in the target vector, this method makes no
guarantees about which instance is returned.
For an alternative search implementation that always finds the first match of the key,
see <a href="../../../../../org/apache/arrow/algorithm/search/VectorSearcher.html#linearSearch-V-org.apache.arrow.algorithm.sort.VectorValueComparator-V-int-"><code>VectorSearcher.linearSearch(ValueVector, VectorValueComparator, ValueVector, int)</code></a>.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutionException.html?is-external=true" title="class or interface in java.util.concurrent">ExecutionException</a></code> - if an exception occurs in a thread.</dd>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></code> - if a thread is interrupted.</dd>
</dl>
</li>
</ul>
<a name="search-org.apache.arrow.vector.ValueVector-int-org.apache.arrow.algorithm.sort.VectorValueComparator-">
<!-- -->
</a><a name="search-V-int-org.apache.arrow.algorithm.sort.VectorValueComparator-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>search</h4>
<pre>public&nbsp;int&nbsp;search(<a href="../../../../../org/apache/arrow/algorithm/search/ParallelSearcher.html" title="type parameter in ParallelSearcher">V</a>&nbsp;keyVector,
int&nbsp;keyIndex,
<a href="../../../../../org/apache/arrow/algorithm/sort/VectorValueComparator.html" title="class in org.apache.arrow.algorithm.sort">VectorValueComparator</a>&lt;<a href="../../../../../org/apache/arrow/algorithm/search/ParallelSearcher.html" title="type parameter in ParallelSearcher">V</a>&gt;&nbsp;comparator)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutionException.html?is-external=true" title="class or interface in java.util.concurrent">ExecutionException</a>,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
<div class="block">Search for the key in the target vector. The element-wise comparison is based on
<a href="../../../../../org/apache/arrow/algorithm/sort/VectorValueComparator.html" title="class in org.apache.arrow.algorithm.sort"><code>VectorValueComparator</code></a>, so there are three possible results for each element-wise
comparison: less than, equal to and greater than.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>keyVector</code> - the vector containing the search key.</dd>
<dd><code>keyIndex</code> - the index of the search key in the key vector.</dd>
<dd><code>comparator</code> - the comparator for comparing the key against vector elements.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the position of a matched value in the target vector,
or -1 if none is found. Please note that if there are multiple
matches of the key in the target vector, this method makes no
guarantees about which instance is returned.
For an alternative search implementation that always finds the first match of the key,
see <a href="../../../../../org/apache/arrow/algorithm/search/VectorSearcher.html#linearSearch-V-org.apache.arrow.algorithm.sort.VectorValueComparator-V-int-"><code>VectorSearcher.linearSearch(ValueVector, VectorValueComparator, ValueVector, int)</code></a>.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutionException.html?is-external=true" title="class or interface in java.util.concurrent">ExecutionException</a></code> - if an exception occurs in a thread.</dd>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></code> - if a thread is interrupted.</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="class-use/ParallelSearcher.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="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li><a href="../../../../../org/apache/arrow/algorithm/search/ParallelSearcherBenchmarks.html" title="class in org.apache.arrow.algorithm.search"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/arrow/algorithm/search/ParallelSearcher.html" target="_top">Frames</a></li>
<li><a href="ParallelSearcher.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>Field&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 ======= -->
<p class="legalCopy"><small>Copyright &#169; 2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>