solr 初探

Solr简介

Solr是一个基于Lucene的Java搜索引擎服务器。Solr 提供了层面搜索、命中醒目显示并且支持多种输出格式(包括 XML/XSLT 和 JSON 格式)。它易于安装和配置,而且附带了一个基于 HTTP 的管理界面。
Solr已经在众多大型的网站中使用,较为成熟和稳定。Solr 包装并扩展了 Lucene,所以Solr的基本上沿用了Lucene的相关术语。更重要的是,Solr 创建的索引与 Lucene 搜索引擎库完全兼容。通过对Solr 进行适当的配置,某些情况下可能需要进行编码,Solr 可以阅读和使用构建到其他 Lucene 应用程序中的索引。此外,很多 Lucene 工具(如Nutch、 Luke)也可以使用Solr 创建的索引。
Solr的基本前提很简单。你给它很多信息,然后你可以问问题,找到你想要的信息。您在所有信息中提供的部分称为索引或更新。当您提出问题时,称为查询。
了解索尔如何工作的一个方法是想想一个散文的食谱书。每次向书中添加食谱时,都可以在后面更新索引。您列出了您刚添加的食谱的每个成分和页码。假设你添加了一百个食谱。使用索引,您可以很快地找到所有使用鹰嘴豆,朝鲜蓟或咖啡作为配料的食谱。使用索引比逐个查看每个食谱要快得多。想象一本有一千种食谱的书,还有一百万份。

需求场景
查询和搜索,我们直接查询数据库MySQL。查询数据库主要有一些局限性:
比如多表查询效率低,大文本字段不好建立索引和搜索,复杂的条件查询和搜索功能不够强大,或者说不够简单。
使用Solr的话,就很简单地解决了以上问题。

ES(ElasticSearch) 是分布式的。 是一个实时的,分布式搜索和分析引擎。也是建立在 Lucene 基础上的搜索引擎, 过些时候整理写篇博客

* Solr 工作方式*
Solr对外提供标准的http接口来实现对数据的索引的增加、删除、修改、查询。在 Solr 中,用户通过向部署在servlet 容器中的 Solr Web 应用程序发送 HTTP 请求来启动索引和搜索。Solr 接受请求,确定要使用的适当SolrRequestHandler,然后处理请求。通过 HTTP 以同样的方式返回响应。默认配置返回Solr 的标准 XML 响应,也可以配置Solr 的备用响应格式。

可以向 Solr 索引 servlet 传递四个不同的索引请求:
add/update 允许向 Solr 添加文档或更新文档。直到提交后才能搜索到这些添加和更新。
commit 告诉 Solr,应该使上次提交以来所做的所有更改都可以搜索到。
optimize 重构 Lucene 的文件以改进搜索性能。索引完成后执行一下优化通常比较好。如果更新比较频繁,则应该在使用率较低的时候安排优化。一个索引无需优化也可以正常地运行。优化是一个耗时较多的过程。
delete 可以通过 id 或查询来指定。按 id 删除将删除具有指定 id 的文档;按查询删除将删除查询返回的所有文档。

solr 4.7 版本后 出现游标 ,只要才查询的时候加上 cursorMark 参数
我们从一个简单的查询开始:
curl ‘localhost:8983/solr/select?q=:&rows=1&sort=score+desc,id+asc&cursorMark=*
这里我们传入一个cursorMark = *参数,告诉Solr的,我们要使用的光标。
返回值除了平时返回的结果外,还多了一个游标数据nextCursorMark=”AoIIP4AAACgwNTc5QjAwMg==”,使用这个值作为我们翻下一页的参数。
但是主键必须在排序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值