com.bigdata.search
Class ReadIndexTask<V extends Comparable<V>>

java.lang.Object
  extended by com.bigdata.search.AbstractIndexTask<V>
      extended by com.bigdata.search.ReadIndexTask<V>
Type Parameters:
V - The generic type of the document identifier.
All Implemented Interfaces:
Callable<Object>

public class ReadIndexTask<V extends Comparable<V>>
extends AbstractIndexTask<V>
implements Callable<Object>

Procedure reads on the terms index, aggregating data on a per-Hit basis.

The procedure uses an IRangeQuery.rangeIterator(byte[], byte[]) to perform a key range scan for a specific term. The range iterator will automatically issue queries, obtaining a "chunk" of results at a time. Those results are aggregated on the Hit collection, which is maintained in a thread-safe hash map.

Note: An ISimpleSplitHandler imposes the constraint that index partitions may only fall on a term boundary, hence all tuples for any given term will always be found on the same index partition.

Version:
$Id: ReadIndexTask.java 6234 2012-03-31 09:33:43Z mrpersonick $
Author:
Bryan Thompson

Field Summary
 
Fields inherited from class com.bigdata.search.AbstractIndexTask
fromKey, queryTerm, queryTermWeight, toKey
 
Constructor Summary
ReadIndexTask(String termText, boolean prefixMatch, double queryTermWeight, FullTextIndex<V> searchEngine, IHitCollector<V> hits)
          Setup a task that will perform a range scan for entries matching the search term.
 
Method Summary
 Long call()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ReadIndexTask

public ReadIndexTask(String termText,
                     boolean prefixMatch,
                     double queryTermWeight,
                     FullTextIndex<V> searchEngine,
                     IHitCollector<V> hits)
Setup a task that will perform a range scan for entries matching the search term.

Parameters:
termText - The term text for the search term.
prefixMatch - When true any term having termText as a prefix will be matched. Otherwise the term must be an exact match for the termText.
queryTermWeight - The weight for the search term.
searchEngine - The search engine.
hits - The map where the hits are being aggregated.
Method Detail

call

public Long call()
          throws Exception
Specified by:
call in interface Callable<Object>
Returns:
The #of fields with a hit on the search term as a Long.
Throws:
Exception


Copyright © 2006-2011 SYSTAP, LLC. All Rights Reserved.