public class RangeJoinQueryOperation extends JoinQueryOperation
evaluateSerially(messif.objects.util.AbstractObjectIterator<? extends messif.objects.LocalAbstractObject>, messif.algorithms.Algorithm)
.
See JoinQueryOperation
for details.QueryOperation.DataEqualOperation
AbstractOperation.OperationConstructor, AbstractOperation.OperationName
k, mu, skipSymmetricPairs
suppData, uuidOperationComparator
Constructor and Description |
---|
RangeJoinQueryOperation(float mu,
int k,
boolean skipSymmetricPairs,
AnswerType answerType,
Algorithm alg,
int parallelQueries,
java.lang.Class<RankingQueryOperation> queryCls,
java.lang.String... queryParams)
Creates an instance of range join query.
|
RangeJoinQueryOperation(float mu,
int k,
boolean skipSymmetricPairs,
AnswerType answerType,
int parallelQueries,
java.lang.Class<RankingQueryOperation> queryCls,
java.lang.String... queryParams)
Creates an instance of range join query.
|
RangeJoinQueryOperation(float mu,
int k,
boolean skipSymmetricPairs,
AnswerType answerType,
java.lang.String host,
int port,
int parallelQueries,
java.lang.Class<RankingQueryOperation> queryCls,
java.lang.String... queryParams)
Creates an instance of range join query.
|
Modifier and Type | Method and Description |
---|---|
int |
evaluate(AbstractObjectIterator<? extends LocalAbstractObject> objects)
Evaluate this join query on a given set of objects.
|
int |
evaluate(AbstractObjectIterator<? extends LocalAbstractObject> objects,
Algorithm alg)
Evaluate this join query on a given set of objects and algorithm to run on.
|
int |
evaluateInParallel(AbstractObjectIterator<? extends LocalAbstractObject> objects,
Algorithm alg,
int threads)
Evaluate this join query on a given set of objects.
|
int |
evaluateSerially(AbstractObjectIterator<? extends LocalAbstractObject> objects,
Algorithm alg)
Evaluate this join query on a given set of objects.
|
addToAnswer, addToAnswer, addToAnswer, clearSurplusData, clone, dataEqualsImpl, dataHashCode, endOperation, getAnswer, getAnswer, getAnswerClass, getAnswerCount, getAnswerDistance, getAnswerDistanceRestricted, getAnswerDistanceRestricted, getAnswerObjects, getAnswerThreshold, getArgument, getArgumentCount, getDistanceThreshold, getK, getLastAnswer, getMu, getSubAnswer, getSubAnswer, getSubAnswerCount, isAnswerFull, resetAnswer, updateFrom, updateFrom
appendErrorCode, clone, dataEquals, endOperation, getAllSubAnswers, getAnswerType, getQueryAnswer, iterator, setAnswerType, wasSuccessful
appendArguments, containsParameter, createOperation, equals, getAnnotatedConstructor, getAnnotatedConstructor, getArgumentString, getConstructorArgumentDescriptions, getConstructorArgumentDescriptions, getConstructorArguments, getConstructorArguments, getConstructorDescription, getErrorCode, getName, getName, getOperationID, getParameter, getParameter, getParameter, getParameterCount, getParameterMap, getParameterNames, getRequiredParameter, getRequiredParameter, hashCode, isErrorCode, isFinished, removeParameter, setParameter, toString
public RangeJoinQueryOperation(float mu, int k, boolean skipSymmetricPairs, AnswerType answerType, java.lang.String host, int port, int parallelQueries, java.lang.Class<RankingQueryOperation> queryCls, java.lang.String... queryParams) throws java.net.UnknownHostException, java.lang.NoSuchMethodException, java.lang.IllegalArgumentException, java.lang.reflect.InvocationTargetException
mu
- the distance thresholdk
- the number of nearest pairs to retrieveskipSymmetricPairs
- flag whether symmetric pairs should be avoided in the answeranswerType
- the type of objects this operation stores in pairs in its answerhost
- the remote algorithm's IP addressport
- the remote algorithm's RMI portparallelQueries
- number of range queries to run in parallel (pass 1 to execute queries serially)queryCls
- name of class of RankingQueryOperation
to execute on the algorithm at host:port;
so RangeQueryOperation
or KNNQueryOperation
can be passedqueryParams
- parameters of a constructor of queryCls but the first one, which is a query objectjava.net.UnknownHostException
- thrown during the construction of RMIAlgorithm
java.lang.NoSuchMethodException
- thrown during the construction of the passed class of RankingQueryOperation
java.lang.IllegalArgumentException
- thrown during the construction of the passed class of RankingQueryOperation
java.lang.reflect.InvocationTargetException
- thrown during the construction of the passed class of RankingQueryOperation
public RangeJoinQueryOperation(float mu, int k, boolean skipSymmetricPairs, AnswerType answerType, int parallelQueries, java.lang.Class<RankingQueryOperation> queryCls, java.lang.String... queryParams) throws java.lang.NoSuchMethodException, java.lang.IllegalArgumentException, java.lang.reflect.InvocationTargetException
mu
- the distance thresholdk
- the number of nearest pairs to retrieveskipSymmetricPairs
- flag whether symmetric pairs should be avoided in the answeranswerType
- the type of objects this operation stores in pairs in its answerparallelQueries
- number of range queries to run in parallel (pass 1 to execute queries serially)queryCls
- name of class of RankingQueryOperation
to execute on the algorithm at host:port;
so RangeQueryOperation
or KNNQueryOperation
can be passedqueryParams
- parameters of a constructor of queryCls but the first one, which is a query objectjava.lang.NoSuchMethodException
- thrown during the construction of the passed class of RankingQueryOperation
java.lang.IllegalArgumentException
- thrown during the construction of the passed class of RankingQueryOperation
java.lang.reflect.InvocationTargetException
- thrown during the construction of the passed class of RankingQueryOperation
public RangeJoinQueryOperation(float mu, int k, boolean skipSymmetricPairs, AnswerType answerType, Algorithm alg, int parallelQueries, java.lang.Class<RankingQueryOperation> queryCls, java.lang.String... queryParams) throws java.lang.NoSuchMethodException, java.lang.IllegalArgumentException, java.lang.reflect.InvocationTargetException
mu
- the distance thresholdk
- the number of nearest pairs to retrieveskipSymmetricPairs
- flag whether symmetric pairs should be avoided in the answeranswerType
- the type of objects this operation stores in pairs in its answeralg
- algorithm to evaluate range queriesparallelQueries
- number of range queries to run in parallel (pass 1 to execute queries serially)queryCls
- name of class of RankingQueryOperation
to execute on the algorithm at host:port;
so RangeQueryOperation
or KNNQueryOperation
can be passedqueryParams
- parameters of a constructor of queryCls but the first one, which is a query objectjava.lang.NoSuchMethodException
- thrown during the construction of the passed class of RankingQueryOperation
java.lang.IllegalArgumentException
- thrown during the construction of the passed class of RankingQueryOperation
java.lang.reflect.InvocationTargetException
- thrown during the construction of the passed class of RankingQueryOperation
public int evaluate(AbstractObjectIterator<? extends LocalAbstractObject> objects)
JoinQueryOperation.addToAnswer(messif.objects.LocalAbstractObject, messif.objects.LocalAbstractObject)
.
For each object in the passed iterator, a range query is evaluated on the external index given in a constructor.
The range query is instantiated from the parameters passed in the constructor.evaluate
in class JoinQueryOperation
objects
- the collection of objects on which to evaluateSerially this querypublic int evaluate(AbstractObjectIterator<? extends LocalAbstractObject> objects, Algorithm alg)
JoinQueryOperation.addToAnswer(messif.objects.LocalAbstractObject, messif.objects.LocalAbstractObject)
.
For each object in the passed iterator, a range query is evaluated on the external index given in a constructor.
The range query is instantiated from the parameters passed in the constructor.objects
- the collection of objects on which to evaluateSerially this queryalg
- algorithm to evaluate range queriespublic int evaluateSerially(AbstractObjectIterator<? extends LocalAbstractObject> objects, Algorithm alg)
JoinQueryOperation.addToAnswer(messif.objects.LocalAbstractObject, messif.objects.LocalAbstractObject)
.
For each object in the passed iterator, a range query is evaluated on the external index given in a constructor.
The range query is instantiated from the parameters passed in the constructor.objects
- the collection of objects on which to evaluateSerially this queryalg
- algorithm to evaluateSerially range queriespublic int evaluateInParallel(AbstractObjectIterator<? extends LocalAbstractObject> objects, Algorithm alg, int threads)
JoinQueryOperation.addToAnswer(messif.objects.LocalAbstractObject, messif.objects.LocalAbstractObject)
.
For each object in the passed iterator, a range query is evaluated on the external index given in a constructor.
The range query is instantiated from the parameters passed in the constructor.objects
- the collection of objects on which to evaluateSerially this queryalg
- algorithm to evaluateSerially range queriesthreads
- number of range queries to run in parallel