1、倒排索引
倒排索引常用于信息检索领域。图1展示了一个布尔检索的过程,即统计每个单词在哪些文档中出现过。当输入blue时,返回带有blue单词的所有文档编号。算法统计单词在哪些文档中出现,而不是统计文档中有哪些单词,是因为与文档数目相比,常用词表的数量小的多。
图 1 布尔倒排索引过程
2、MapReduce 代码
import java.io.IOException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.StringTokenizer;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.lib.input.FileSplit;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.Mapper;
import org.apache.hadoop.mapreduce.Reducer;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.