blob: 7af9c4fd1245d53c069b93381c5089ab7ae2d75c [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 (1.8.0_121) on Fri Apr 14 22:11:36 PDT 2017 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>FastProjectionSearch (Mahout Map-Reduce 0.13.0 API)</title>
<meta name="date" content="2017-04-14">
<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="FastProjectionSearch (Mahout Map-Reduce 0.13.0 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":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/FastProjectionSearch.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><a href="../../../../../org/apache/mahout/math/neighborhood/BruteSearch.html" title="class in org.apache.mahout.math.neighborhood"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/mahout/math/neighborhood/HashedVector.html" title="class in org.apache.mahout.math.neighborhood"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/mahout/math/neighborhood/FastProjectionSearch.html" target="_top">Frames</a></li>
<li><a href="FastProjectionSearch.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.mahout.math.neighborhood.Searcher">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.mahout.math.neighborhood</div>
<h2 title="Class FastProjectionSearch" class="title">Class FastProjectionSearch</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/7/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><a href="../../../../../org/apache/mahout/math/neighborhood/Searcher.html" title="class in org.apache.mahout.math.neighborhood">org.apache.mahout.math.neighborhood.Searcher</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../org/apache/mahout/math/neighborhood/UpdatableSearcher.html" title="class in org.apache.mahout.math.neighborhood">org.apache.mahout.math.neighborhood.UpdatableSearcher</a></li>
<li>
<ul class="inheritance">
<li>org.apache.mahout.math.neighborhood.FastProjectionSearch</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="http://mahout.apache.org/mahout-math/apidocs/org/apache/mahout/math/Vector.html?is-external=true" title="class or interface in org.apache.mahout.math">Vector</a>&gt;</dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">FastProjectionSearch</span>
extends <a href="../../../../../org/apache/mahout/math/neighborhood/UpdatableSearcher.html" title="class in org.apache.mahout.math.neighborhood">UpdatableSearcher</a></pre>
<div class="block">Does approximate nearest neighbor search by projecting the vectors similar to ProjectionSearch.
The main difference between this class and the ProjectionSearch is the use of sorted arrays
instead of binary search trees to implement the sets of scalar projections.
Instead of taking log n time to add a vector to each of the vectors, * the pending additions are
kept separate and are searched using a brute search. When there are "enough" pending additions,
they're committed into the main pool of vectors.</div>
</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.mahout.math.neighborhood.Searcher">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.mahout.math.neighborhood.<a href="../../../../../org/apache/mahout/math/neighborhood/Searcher.html" title="class in org.apache.mahout.math.neighborhood">Searcher</a></h3>
<code><a href="../../../../../org/apache/mahout/math/neighborhood/Searcher.html#distanceMeasure">distanceMeasure</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/mahout/math/neighborhood/FastProjectionSearch.html#FastProjectionSearch-org.apache.mahout.common.distance.DistanceMeasure-int-int-">FastProjectionSearch</a></span>(<a href="../../../../../org/apache/mahout/common/distance/DistanceMeasure.html" title="interface in org.apache.mahout.common.distance">DistanceMeasure</a>&nbsp;distanceMeasure,
int&nbsp;numProjections,
int&nbsp;searchSize)</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>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mahout/math/neighborhood/FastProjectionSearch.html#add-org.apache.mahout.math.Vector-">add</a></span>(<a href="http://mahout.apache.org/mahout-math/apidocs/org/apache/mahout/math/Vector.html?is-external=true" title="class or interface in org.apache.mahout.math">Vector</a>&nbsp;vector)</code>
<div class="block">Add a new Vector to the Searcher that will be checked when getting
the nearest neighbors.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mahout/math/neighborhood/FastProjectionSearch.html#clear--">clear</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="http://mahout.apache.org/mahout-math/apidocs/org/apache/mahout/math/Vector.html?is-external=true" title="class or interface in org.apache.mahout.math">Vector</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mahout/math/neighborhood/FastProjectionSearch.html#iterator--">iterator</a></span>()</code>
<div class="block">This iterates on the snapshot of the contents first instantiated regardless of any future modifications.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mahout/math/neighborhood/FastProjectionSearch.html#remove-org.apache.mahout.math.Vector-double-">remove</a></span>(<a href="http://mahout.apache.org/mahout-math/apidocs/org/apache/mahout/math/Vector.html?is-external=true" title="class or interface in org.apache.mahout.math">Vector</a>&nbsp;vector,
double&nbsp;epsilon)</code>&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://mahout.apache.org/mahout-math/apidocs/org/apache/mahout/math/random/WeightedThing.html?is-external=true" title="class or interface in org.apache.mahout.math.random">WeightedThing</a>&lt;<a href="http://mahout.apache.org/mahout-math/apidocs/org/apache/mahout/math/Vector.html?is-external=true" title="class or interface in org.apache.mahout.math">Vector</a>&gt;&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mahout/math/neighborhood/FastProjectionSearch.html#search-org.apache.mahout.math.Vector-int-">search</a></span>(<a href="http://mahout.apache.org/mahout-math/apidocs/org/apache/mahout/math/Vector.html?is-external=true" title="class or interface in org.apache.mahout.math">Vector</a>&nbsp;query,
int&nbsp;limit)</code>
<div class="block">When querying the Searcher for the closest vectors, a list of WeightedThing<Vector>s is
returned.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="http://mahout.apache.org/mahout-math/apidocs/org/apache/mahout/math/random/WeightedThing.html?is-external=true" title="class or interface in org.apache.mahout.math.random">WeightedThing</a>&lt;<a href="http://mahout.apache.org/mahout-math/apidocs/org/apache/mahout/math/Vector.html?is-external=true" title="class or interface in org.apache.mahout.math">Vector</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mahout/math/neighborhood/FastProjectionSearch.html#searchFirst-org.apache.mahout.math.Vector-boolean-">searchFirst</a></span>(<a href="http://mahout.apache.org/mahout-math/apidocs/org/apache/mahout/math/Vector.html?is-external=true" title="class or interface in org.apache.mahout.math">Vector</a>&nbsp;query,
boolean&nbsp;differentThanQuery)</code>
<div class="block">Returns the closest vector to the query.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mahout/math/neighborhood/FastProjectionSearch.html#size--">size</a></span>()</code>
<div class="block">Returns the number of WeightedVectors being searched for nearest neighbors.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.mahout.math.neighborhood.Searcher">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.mahout.math.neighborhood.<a href="../../../../../org/apache/mahout/math/neighborhood/Searcher.html" title="class in org.apache.mahout.math.neighborhood">Searcher</a></h3>
<code><a href="../../../../../org/apache/mahout/math/neighborhood/Searcher.html#addAll-java.lang.Iterable-">addAll</a>, <a href="../../../../../org/apache/mahout/math/neighborhood/Searcher.html#addAllMatrixSlices-java.lang.Iterable-">addAllMatrixSlices</a>, <a href="../../../../../org/apache/mahout/math/neighborhood/Searcher.html#addAllMatrixSlicesAsWeightedVectors-java.lang.Iterable-">addAllMatrixSlicesAsWeightedVectors</a>, <a href="../../../../../org/apache/mahout/math/neighborhood/Searcher.html#getCandidateQueue-int-">getCandidateQueue</a>, <a href="../../../../../org/apache/mahout/math/neighborhood/Searcher.html#getDistanceMeasure--">getDistanceMeasure</a>, <a href="../../../../../org/apache/mahout/math/neighborhood/Searcher.html#search-java.lang.Iterable-int-">search</a>, <a href="../../../../../org/apache/mahout/math/neighborhood/Searcher.html#searchFirst-java.lang.Iterable-boolean-">searchFirst</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.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Iterable">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a></h3>
<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Iterable.html?is-external=true#forEach-java.util.function.Consumer-" title="class or interface in java.lang">forEach</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Iterable.html?is-external=true#spliterator--" title="class or interface in java.lang">spliterator</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="FastProjectionSearch-org.apache.mahout.common.distance.DistanceMeasure-int-int-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>FastProjectionSearch</h4>
<pre>public&nbsp;FastProjectionSearch(<a href="../../../../../org/apache/mahout/common/distance/DistanceMeasure.html" title="interface in org.apache.mahout.common.distance">DistanceMeasure</a>&nbsp;distanceMeasure,
int&nbsp;numProjections,
int&nbsp;searchSize)</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="add-org.apache.mahout.math.Vector-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>add</h4>
<pre>public&nbsp;void&nbsp;add(<a href="http://mahout.apache.org/mahout-math/apidocs/org/apache/mahout/math/Vector.html?is-external=true" title="class or interface in org.apache.mahout.math">Vector</a>&nbsp;vector)</pre>
<div class="block">Add a new Vector to the Searcher that will be checked when getting
the nearest neighbors.
<p/>
The vector IS NOT CLONED. Do not modify the vector externally otherwise the internal
Searcher data structures could be invalidated.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/mahout/math/neighborhood/Searcher.html#add-org.apache.mahout.math.Vector-">add</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/mahout/math/neighborhood/Searcher.html" title="class in org.apache.mahout.math.neighborhood">Searcher</a></code></dd>
</dl>
</li>
</ul>
<a name="size--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>size</h4>
<pre>public&nbsp;int&nbsp;size()</pre>
<div class="block">Returns the number of WeightedVectors being searched for nearest neighbors.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/mahout/math/neighborhood/Searcher.html#size--">size</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/mahout/math/neighborhood/Searcher.html" title="class in org.apache.mahout.math.neighborhood">Searcher</a></code></dd>
</dl>
</li>
</ul>
<a name="search-org.apache.mahout.math.Vector-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>search</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://mahout.apache.org/mahout-math/apidocs/org/apache/mahout/math/random/WeightedThing.html?is-external=true" title="class or interface in org.apache.mahout.math.random">WeightedThing</a>&lt;<a href="http://mahout.apache.org/mahout-math/apidocs/org/apache/mahout/math/Vector.html?is-external=true" title="class or interface in org.apache.mahout.math">Vector</a>&gt;&gt;&nbsp;search(<a href="http://mahout.apache.org/mahout-math/apidocs/org/apache/mahout/math/Vector.html?is-external=true" title="class or interface in org.apache.mahout.math">Vector</a>&nbsp;query,
int&nbsp;limit)</pre>
<div class="block">When querying the Searcher for the closest vectors, a list of WeightedThing<Vector>s is
returned. The value of the WeightedThing is the neighbor and the weight is the
the distance (calculated by some metric - see a concrete implementation) between the query
and neighbor.
The actual type of vector in the pair is the same as the vector added to the Searcher.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/mahout/math/neighborhood/Searcher.html#search-org.apache.mahout.math.Vector-int-">search</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/mahout/math/neighborhood/Searcher.html" title="class in org.apache.mahout.math.neighborhood">Searcher</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>query</code> - the vector to search for</dd>
<dd><code>limit</code> - the number of results to return</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the list of weighted vectors closest to the query</dd>
</dl>
</li>
</ul>
<a name="searchFirst-org.apache.mahout.math.Vector-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>searchFirst</h4>
<pre>public&nbsp;<a href="http://mahout.apache.org/mahout-math/apidocs/org/apache/mahout/math/random/WeightedThing.html?is-external=true" title="class or interface in org.apache.mahout.math.random">WeightedThing</a>&lt;<a href="http://mahout.apache.org/mahout-math/apidocs/org/apache/mahout/math/Vector.html?is-external=true" title="class or interface in org.apache.mahout.math">Vector</a>&gt;&nbsp;searchFirst(<a href="http://mahout.apache.org/mahout-math/apidocs/org/apache/mahout/math/Vector.html?is-external=true" title="class or interface in org.apache.mahout.math">Vector</a>&nbsp;query,
boolean&nbsp;differentThanQuery)</pre>
<div class="block">Returns the closest vector to the query.
When only one the nearest vector is needed, use this method, NOT search(query, limit) because
it's faster (less overhead).</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/mahout/math/neighborhood/Searcher.html#searchFirst-org.apache.mahout.math.Vector-boolean-">searchFirst</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/mahout/math/neighborhood/Searcher.html" title="class in org.apache.mahout.math.neighborhood">Searcher</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>query</code> - the vector to search for</dd>
<dd><code>differentThanQuery</code> - if true, returns the closest vector different than the query (this
only matters if the query is among the searched vectors), otherwise,
returns the closest vector to the query (even the same vector).</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the weighted vector closest to the query</dd>
</dl>
</li>
</ul>
<a name="remove-org.apache.mahout.math.Vector-double-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>remove</h4>
<pre>public&nbsp;boolean&nbsp;remove(<a href="http://mahout.apache.org/mahout-math/apidocs/org/apache/mahout/math/Vector.html?is-external=true" title="class or interface in org.apache.mahout.math">Vector</a>&nbsp;vector,
double&nbsp;epsilon)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/mahout/math/neighborhood/UpdatableSearcher.html#remove-org.apache.mahout.math.Vector-double-">remove</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/mahout/math/neighborhood/UpdatableSearcher.html" title="class in org.apache.mahout.math.neighborhood">UpdatableSearcher</a></code></dd>
</dl>
</li>
</ul>
<a name="clear--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clear</h4>
<pre>public&nbsp;void&nbsp;clear()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/mahout/math/neighborhood/UpdatableSearcher.html#clear--">clear</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/mahout/math/neighborhood/UpdatableSearcher.html" title="class in org.apache.mahout.math.neighborhood">UpdatableSearcher</a></code></dd>
</dl>
</li>
</ul>
<a name="iterator--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>iterator</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="http://mahout.apache.org/mahout-math/apidocs/org/apache/mahout/math/Vector.html?is-external=true" title="class or interface in org.apache.mahout.math">Vector</a>&gt;&nbsp;iterator()</pre>
<div class="block">This iterates on the snapshot of the contents first instantiated regardless of any future modifications.
Changes done after the iterator is created will not be visible to the iterator but will be visible
when searching.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>iterator through the vectors in this searcher.</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/FastProjectionSearch.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><a href="../../../../../org/apache/mahout/math/neighborhood/BruteSearch.html" title="class in org.apache.mahout.math.neighborhood"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/mahout/math/neighborhood/HashedVector.html" title="class in org.apache.mahout.math.neighborhood"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/mahout/math/neighborhood/FastProjectionSearch.html" target="_top">Frames</a></li>
<li><a href="FastProjectionSearch.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.mahout.math.neighborhood.Searcher">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 ======= -->
<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2017 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>