Affects Version/s: None
Fix Version/s: None
This patch provides a Reducer class and other related classes which help to build a Lucene index on an HBase table. The index build part is similar to that of Nutch.
- Each row is modeled as a Lucene document: row key is indexed in its untokenized form, column name-value pairs are Lucene field name-value pairs.
- IndexConf is used to configure various Lucene parameters, specify whether to optimize an index and which columns to index and/or store, in tokenized or untokenized form, etc.
- The number of reduce tasks decides the number of indexes (partitions). The index(es) is stored in the output path of job configuration.
- The index build process is done in the reduce phase. Users can use the map phase to join rows from different tables or to pre-parse/analyze column content, etc.
- A junit test is added to test the build of an index on an HBase table with an identity mapper. It also serves as an example on how to use the new classes.
- BuildTableIndex is provided to help building an index on an HBase table. It should be moved to examples package if HBase decides to have one.
This patch requires the inclusion of the Lucene library.