如何使用MapReduce构建Solr索引

Solr 是什么?

Solr 是一个开源的企业级搜索服务器,底层使用易于扩展和修改的 Java 来实现。服务 器通信使用标准的 HTTP 和 XML ,所以如果使用Solr 了解 Java 技术会有用却不是必须的要求。

Solr主要特性有:强大的全文检索功能,高亮显示检索结果,动态集群,数据库接口和 电子文档(Word ,PDF 等)的处理。而且 Solr具有高度的可扩展,支持分布搜索和索引的复制。

用MapReduce构建Solr索引

本文在markrmiller的repo上做了一些改动,成功地在Hadoop上利用MapReduce创建了Solr的索引。

实验环境

  • Ubuntu 16.04的虚拟机一台(2GB 内存,1核)
  • 安装JDK 7+

实验步骤

首先要能够免密登录localhost:

sudo apt-get install openssh-server
ssh-keygen -t rsa -P ""
cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys

现在ssh localhost就不再需要输入密码了。

接下来先安装一个在运行过程中要用到的软件unzip:

sudo apt-get install unzip

然后从github下载源码到根目录,然后运行run-example.sh

git clone https://github.com/scuxiayiqian/solr-map-reduce-example.git
cd solr-map-reduce-example
bash run-example.sh

运行成功后程序就会启动一个MapReduce的任务对下载下来的Twitter数据建立索引,并上传到Solr Cloud上去。运行完成后我们可以通过http://127.0.0.1:8983/solr来查看结果。也可以通过http://127.0.0.1:50075http://127.0.0.1:8042分别访问NameNode和Yarn。

更多Solr相关教程见以下内容

Solr 的详细介绍:请点这里
Solr 的下载地址:请点这里

相关推荐