《Hadoop生态》——第二章 数据库与数据管理——Solr

Solr


这里写图片描述

许可证: Apache License, Version 2.0
活跃度:
目的: 文档仓库
官方地址: https://lucene.apache.org/solr
Hadoop集成: API兼容

有时候你只是想从一大堆文档中做查询。但是不是所有的任务都得对PB级的数据做大型复杂的分析。对于大多数情况,你可能觉得对于一个简单的Unix grep命令或者Windows查询来讲数据量还是挺大的,但是由不值得把这个任务交给一个数据科学团队。Solr就适合于这种中间情况,它提供了一种非常易用的方法对多个文档的内容进行快速的查询检索。

Solr支持分布式架构,它提供了许多分布式系统期望有的特征(例如线性拓展,数据复制,失效备份)。它是基于Lucene的,Lucene是一种十分流行的文档内容检索框架,并且提供了很多工具,这些工具可以提供检索并查询数据。

虽然Solr可以用于Hadoop分布式文件系统(HDFS)来存储数据,但是它不是完全兼容Hadoop,不能用MapReduce或者YARN建立索引和对查询做出响应。有一个叫Blur的工具有类似的功能作用,它也是在Lucenne框架上建立的,Lucenne则可以利用整个Hadoop栈。

教程链接

除了官方网站Solr主页上的教程,Solr Wiki上也有很好的信息。

示例代码

在这个例子中,我们假设我们已经有了一个半结构化的数据集,这些数据包含了带有标签的评论,这些标签明确地标出了标题和评论的内容。这些评论会单独地存储在reviews目录下的JSON文件中。

我们从告诉Solr数据的索引开始,做这件事情可以后很多方法,所有的都是单一的交换。在本例中,我们用最简单的机制,就是Solr安装目录下的 exampledocs/子目录 post.sh

./example/exampledocs/post.sh /reviews/*.json

一旦我们的评论建立的索引,他们就准备搜索了。Solr有它自己的图形用户界面(GUI),可以用于简单的搜索。我们打开GUI然后查询包含“great”的评论:

review_text:great&fl=title

这个搜索告诉Solr我们想要的评论是title字段((fl=title)是任意评论的review_text字段包含“great”

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值