
solr
源远流长
余镇源的技术博客:主要在搜索引擎,大数据,推荐,后端领域
展开
-
solr newSearcher 跟 firstSearcher的监听器扩展
自定义SolrEventListener实现searcher的autowarm策略在solrconfig.xml上可以配置在newSearcher和firstSearcher的监听器,在事件触发时,可以做某些热身搜索,让Searcher做好准备提供服务,特别是服务重启的时候,如果没有做好热身,开始提供服务搜索时都很勉强。但原生的配置比较麻烦,如果要做多个搜索请求时,单纯在配置文原创 2012-08-14 00:32:56 · 3896 阅读 · 2 评论 -
solrCloud选举leader的逻辑分析
solrCloud选举leader的逻辑分析转贴请声明原文:http://blog.youkuaiyun.com/duck_genuine/article/details/8491901First call *setup(ElectionContext) to ensure the election process is in it'd. Next calljoinElection(Electio原创 2013-01-11 00:05:30 · 5349 阅读 · 0 评论 -
SolrCloud你值得拥有,性能表现良好
转贴请声明原文: http://blog.youkuaiyun.com/duck_genuine/article/details/8644412solrCloud的压力测试:上一篇文章提过使用solr3.6做的架构优化。solr 搜索架构优化测试的时候还没有做更大数据量的并发请求压测试,最近来了新机器,比之前更加好,但没想要把索引放内存,而是放在ssd,内存是满 足的,但使用高于线上2倍多请求的时原创 2013-03-06 23:52:51 · 11366 阅读 · 4 评论 -
基于solr做的推荐引擎思路
转贴请声明原文:http://blog.youkuaiyun.com/duck_genuine/article/details/8776872基于用户相似推荐简单设计思路doc1->user1,user2,user3doc2->user3doc3->user2,user3提交给solr倒排序索引:user1->doc1user2->doc1,doc3user3->d原创 2013-04-09 11:45:11 · 6601 阅读 · 1 评论 -
SolrCloud使用问题记录
转贴请声明原文:http://blog.youkuaiyun.com/duck_genuine/article/details/8749121可以在solr.xml上配置 shardHandlerFactory,这样不用在solrconfig.xml配置重复,单独配置,可以给所有searchandler共用。具体如何配置wiki还没有写。不过应该跟普通的plug配置一样。原创 2013-04-01 23:50:29 · 5476 阅读 · 0 评论 -
solr的随机排序
转贴请声明原文:solr的随机排序有这样的一种需求,想从索引库里随机取出4条记录。在 schema.xml:配置一个动态字段,如下。具体实现可以看代码 org.apache.solr.schema.RandomSortField ... ... ... ... 由用户请求的时候按照一个动态原创 2013-01-07 15:40:48 · 8053 阅读 · 2 评论 -
重新拿起hadoop
为了将多数据源整到hadoop上,将每个表导到hive上,再做大表join,变成一个越级大表,作为某一个搜索业务的数据源,然后再将建索引程序整成MR程序! 为此重新再学起hadoop。先分享一下几个好东西!hadoop原理介绍http://tech.uc.cn/wp-content/uploads/2012/07/Hadoop%E5%8E%9F%E7%90%原创 2013-06-08 13:42:18 · 3436 阅读 · 4 评论 -
solrCloud分布式检索流程
好久没写solr的文章了,刚好需要在公司作个分享,先总结一些先。solrCloud分布式检索主要流程如下:搜索 video,“美女斗秀场” 取按相关度排序取得2条记录~过程是:从集群里得知:video—>两个分片信息所以请求被并行分发到两个分片搜索,各自取top2第一次返回返回:shard1返回:vid:sco原创 2013-11-28 23:49:28 · 5578 阅读 · 2 评论 -
solrCloud Update Request Handling 更新索引流程
在之前写过另一篇学习笔记 : solrCloud 索引更新逻辑学习笔记今天再画了一个solrCloud更新流程图看起来会比较更清晰一些:solrCloud Update Request Handling:原创 2013-11-29 10:56:53 · 5956 阅读 · 2 评论 -
搜索架构更换solrCloud总结
转贴请声明引用:http://blog.youkuaiyun.com/duck_genuine/article/details/8826572新搜索架构是基于SolrCloud和indexing建索引框架技术的⼀一个分布式垂直搜索。主要开源工具:zookeeper、ganglia、tcpcopy、nginx、haproxy、rsync 旧架构弊端原创 2013-04-19 23:57:11 · 12900 阅读 · 13 评论 -
Solr Search Request Handling
Solr Search Request Handling转贴请声明原文:solr SearchHandler的处理流程图大概如下:原创 2014-01-15 10:19:42 · 3783 阅读 · 2 评论 -
solrCloud 4.7 分布式搜索重要bug
solr开源社区真的很强大 ,当很多人在使用一个开源系统的时候 ,缺陷或者有bug的功能更快被使用者提出来解决,异或是有人跟你出现同样的问题,并提出解决方案,当你要使用选择某个发布版本的时候,有一个重要习惯就是看发布版本之后的另一个版本开发中,已处理了哪些bug或者哪些功能在完善。我想这就是我一直忠于solr而非es的吧。!! 今天逛了一下solr jira ,关注一下最近要上线的sol原创 2014-03-22 15:06:52 · 4406 阅读 · 1 评论 -
solr4.7分片shard对应的range值变为null异常问题处理(bug)
solr分片shard对应的range值变为null异常问题处理选 用的solr是solr4.7版本!solr分片突然发现多个collections上某些shard对应的range值变为null,而且还多一个parent:null原创 2016-10-31 17:17:36 · 2529 阅读 · 0 评论 -
solr4.1正式发布了
solr4.0 bug太多,终于等到solr4.1发布了赶紧下载体验一下:http://lucene.apache.org/solr/更新说明如下:releasehttp://mirrors.tuna.tsinghua.edu.cn/apache/lucene/solr/4.1.0/changes/Changes.html原创 2013-01-23 09:51:16 · 3535 阅读 · 1 评论 -
solrCloud 索引更新逻辑学习笔记
转发请声明原文:http://blog.youkuaiyun.com/duck_genuine/article/details/8473502ZkCoreNodeProps 封装了一个node的相关信息,包括base_url,core_name,state,node_name,core_url,isLeaderSolrCmdDistributorsolr分布式更新的一个重要实现工具类,原创 2013-01-06 16:14:33 · 8358 阅读 · 2 评论 -
solrCloud 选举leader的bug
请声明原文:http://blog.youkuaiyun.com/duck_genuine/article/details/8332935当一个leader挂掉后,其中的几个replica 要重新选一个leader出来,但默认的是要等待3分钟,这个时间也太长了。对于开始在测试solrCloud功能来说,等待这么长时间,有可能觉得重新选举失败的挫败感。这里4.1之后已解决了这个bug:https原创 2012-12-19 17:49:25 · 4279 阅读 · 0 评论 -
测试tomcat同solr的连接
上一篇文章讲到solr连接问题分析:solr1.4 中SearchHandler使用的httpclient在高并发可能出现的问题现在做一次测试:tomcat Connector的配置如下:暂时为BIO方式 <Connector port="8080" protocol="HTTP/1.1" maxThreads="20" socket.soTimeout=原创 2012-08-09 15:59:03 · 3543 阅读 · 0 评论 -
solrCloud相关学习资料
solrCloud初探solrCloud官方wikiNew SolrCloud Designusing-solr-cloud-for-real-jon-giffordsolr cloud concepts原创 2012-07-10 18:42:25 · 1796 阅读 · 0 评论 -
solr DocumentCache的问题
发现如果不使用Document Cache的时候,solr内部还是会调用两次 第一次,在QueryComponent里会有处理搜索,取得result,除了内部lucene id外,会调用doPrefetch方法,取出doc文档 放在DocumentCache缓存里,便于下次使用,如果当前没有使用DocumentCache的话,发现还是会调用该方法去拿Document出来。。原创 2012-08-13 15:17:44 · 2701 阅读 · 0 评论 -
优化solr全量建索引,减少索引时间
优化solr全量建索引主要优化从数据库取数据这一块。先简单为读取某个单表数据:该表数据很多娄,数据库为MySQL。旧的建索引设计:之前的设计是分段读取数据,可以按自增主键分段或者按记录更新的时间截分段取。但由于数据模型是可增删改查,这种更新会导致按自增id的数据在有些地方比较稀疏,而按记录的更新时间截,也有可能在某个时间段里更新大量数据,所以也会有不同时间段数据过稀或者原创 2012-06-25 21:08:48 · 13808 阅读 · 1 评论 -
solr1.4 中SearchHandler使用的httpclient在高并发可能出现的问题
solr 1.4 中使用的分布式搜索,是基于httpclient发出分布结点的请求,主要实现在SearchHandler类,该类里有个内部类HttpCommComponent里面有一个httpclient ,是一个静态实例,也就是说在同一个jvm里只有一个实例,可以重复使用,主要代码:static HttpClientclient;static {Multi原创 2012-08-07 15:47:20 · 11153 阅读 · 2 评论 -
solr 4.0 BETA发布,希望一个月后可以见到正式版出来
官方发布的改动:http://lucene.apache.org/solr/solrnews.htmlSee the CHANGES.txt file included with the release for a full list of details.基于4.0-alpha主要的改动如下:Added a Collection management API原创 2012-08-16 00:19:21 · 2856 阅读 · 0 评论 -
solr 的edismax与dismax比较与分析
edismax支持boost函数与score相乘作为,而dismax只能使用bf作用效果是相加,所以在处理多个维度排序时,score其实也应该是其中一个维度 ,用相加的方式处理调整麻烦。而dismax的实现代码逻辑比较简单,看起来比较易理解,edismax是它的加强版,其实是改变了不少。。比如在以下:先看看dismax的解析主要实现思路:首先取出搜索字段名qf将最终解析成一原创 2012-10-11 14:48:18 · 27648 阅读 · 1 评论 -
FileSwitchDirectory 学习笔记 并在solr上的使用
FileSwitchDirectory实现原理与应用 FileSwitchDirectory是lucene的另一种Directory实现类,从名字个就可以理解为文件切换的Directory实现,的确是针对lucene的不同的索引文件使用不同的Directory .借助FileSwitchDirectory整合不同的Directory实现类的优点于一身。比如MMapDirectory原创 2012-09-21 23:43:57 · 2679 阅读 · 0 评论 -
solr 4.0已正式发布了
原文出处:http://blog.youkuaiyun.com/duck_genuine/article/details/8073803正式版本更新发送到集群中的任何节点上,都可以自动转发到正确的索引shard片上,每一个replication都会做更新,并同时写tLog文件,当服务重启时会同步tlog。查询发送到任何一个节点上都会变成发布给集群上执行,并自动负载平衡和故障转移原创 2012-10-15 17:40:33 · 2858 阅读 · 0 评论 -
solr 搜索架构优化
solr 搜索架构优化 刚刚将solrt升级到最新版本3.6.1,除了精简了索引结构设计,新版本的天生优势更加重要,比之前solr1.4的性能算是小部分提升,响应由100ms以内占80%升到了90%,且搜索系统稳定性好了很多,出现挂掉的机率降低了,当然还得继续观察。同时优化了旧的搜索系统架构 ,加上系统的配置优化管理,方便修改调整,对外提供的接口重新设计了一翻,加入了一些请求的原创 2012-10-26 01:22:38 · 5424 阅读 · 3 评论 -
solr索引分发
从solr1.4开始支持基于java的以http方式分发索引优点:1.不再使用脚本,可以跨平台2.不仅索引,还可以分发配置文件配置Master主机 startup commit schema.xml,stopwords.txt,elevate.xml转载 2012-11-14 14:07:28 · 2488 阅读 · 0 评论 -
solrCloud 管理colleciton操作,可能出现的重大Bug
转载请声明原文:http://blog.youkuaiyun.com/duck_genuine/article/details/8440125solrCloud 管理colleciton操作,可能出现的重大Bug当删除某一个不存在的collection后,就会出现很大问题,任何对collection的命令都会失败,不过这个bug已在4.1解决https://issues.apach原创 2012-12-26 17:36:15 · 3670 阅读 · 1 评论 -
Lucene DocValues详解
转载,原文来自 http://blog.youkuaiyun.com/zteny/article/details/60633374今天斗胆来试试DocValues,对于DocValues我想大家都不会觉得陌生,同时又不是非常熟悉,就是那种熟悉而又陌生的感觉。一、docValues是什么鬼呢?DocValues在LUCENE-3518才引入新特征,初生在Lucene4.0,转载 2017-03-07 13:55:09 · 1302 阅读 · 1 评论