博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
solr的用分布式搜索(转)
阅读量:5972 次
发布时间:2019-06-19

本文共 1527 字,大约阅读时间需要 5 分钟。

solr的用分布式搜索(转)  

2010-03-11 13:05:56|  分类: |字号 

直到solr的 1.3 版本,Solr 才能通过复制轻松进行扩展,以满足更大容量的查询需求。但是,如果没有应用程序帮助完成大部分工作,要提供超出单个机器的承载额度的索引还是很困难的。例 如,通常可以在 Solr 中设置多个服务器,其中每一个服务器都有自己的索引,然后再让应用程序来管理搜索 — 但这需要大量的自定义代码。在 1.3 版本中,Solr 添加了分布式搜索功能。应用程序将文档分布到几个计算机上,Solr(和其他程序)通常称之为片(shard)。 每一个片都包含自己的独立索引,而且 Solr 能够跨片协调索引查询。不幸的是,应用程序仍然需要将要创建索引的文档发送到每一个片,但这可能会添加到将来的 Solr 版本中。同时,可以使用一个简单的散列函数根据文档的唯一 ID 确定将文档发送到什么片。与此同时,我将关注搜索的等式方面。

solr的用分布式搜索(转) - hbluojiahui -
Solr 机器容量

一个机器可以容纳的索引大小取决于机器的配置(RAM、CPU、磁盘等)、查询和索引的量,以及 文档的大小和搜索模式。但是通常一个机器能够容纳的文档数量约在几百万到 1 亿之间。

要 开始使用分布式搜索,用户需要花些时间考虑架构。如果仅需要几个片,而且不考虑复制的话,那么可以在每个机器上放置一个片,并且每一个片都能够创建索引和 提供搜索。但如果索引和查询量很大的话,就必须复制每一个片。设置这种系统的常用的方法就是将每一个片及其复制放到一个载入平衡器的后面。图 2 展示了这个架构:

图 2. 分布式和复制 Solr 架构
示例搜索架构
solr的用分布式搜索(转) - hbluojiahui -
分 布式搜索的问题

Solr 的分布式搜索有几个缺点。第一,master 节点不容错,因此它一旦停止,系统就不能为新的文档创建索引或执行复制了。这并不会阻止搜索,而且对于可以手动或通过脚本和外部监控工具来管理片的较小分 布式设置而言,这并不是个问题。换句话说,您不会使用当前的架构来构建下一个 Google,但一定能够提供一个大索引。第二,并不是所有的 1.3 版本中的 de<SearchComponentde< 都是分布式感知的。搜索、分类、调试和突出显示组件是分布是感知的;而其他的不常用的组件,正在努力实现这个功能。在分布式搜索的 wiki 链接中,可以看到一些小警告和所有细节信息(参见 )。

注意,图 2 中输入的请求可以进入任何一个复制的片中,因为它们是功能齐全的 Solr 实例。然后,检索节点会将请求发送到其他片。这些请求仅仅是普通的 Solr 请求。要将请求提交到 Solr 服务器并分发请求,需要将 de<shardsde< 参数添加到请求,比如:

http://localhost:8983/solr/select?  shards=localhost:8983/solr,localhost:7574/solr&q=ipod+solr

在 这个例子中,我假定在本地主机上运行了两个 Solr 服务器(它不是真正的分布式的;它适合于这里的论述,但不能用于您的设置),主服务器在端口 8983 上,从服务器在端口 7574 上。输入的请求进入端口 8983 上的实例,然后它将请求发送到片式服务器上。应用程序很可能将 de<shardsde< 参数值设置成 solrconfig.xml 文件中的 de<SolrRequestHandlerde< 的默认配置的一部分,这样就不需要在每次查询时都传入所有片式服务器的名称了。

转:http://hi.baidu.com/injava/blog/item/be9d30974443266554fb9632.html

转载地址:http://nmwox.baihongyu.com/

你可能感兴趣的文章
近期window7x64 打补丁之后IE11x64无法启动
查看>>
JDBC与ORM发展与联系 JDBC简介(九)
查看>>
第一个Mybatis程序示例 Mybatis简介(一)
查看>>
确保 PHP 应用程序的安全
查看>>
Python单元测试框架Pyunit 的使用
查看>>
基于linux服务器的性能分析与优化
查看>>
Cocos2d-xna : 横版战略游戏开发实验5 TiledMap实现关卡地图
查看>>
LDAP 配置 ldap_bind: Invalid credentials (49)
查看>>
Windows 7 Natvie VHD
查看>>
Python JS Jquery Json 转换关系
查看>>
重启jboss出现问题:端口被占用
查看>>
SpringMVC下的基本配置
查看>>
RedHat/CentOS系统信息查看命令大全
查看>>
Apache用户认证、域名跳转、Apache访问日志
查看>>
程序注释应该注意的地方
查看>>
tomcat+SSH中遇到中文乱码的解决方法
查看>>
用IKVMC将jar转成dll供c#调用
查看>>
Exchange Server 2013 DAG高可用部署(三)-服务器角色安装
查看>>
VMware 全虚拟打开
查看>>
windows 下搭建python虚拟环境
查看>>