导航菜单
路很长,又很短
博主信息
昵   称:Cocodroid ->关于我
Q     Q:2531075716
博文数:359
阅读量:2140299
访问量:255153
至今:
×
博文->>搜索结果(耗时0.085秒) 博文列表>>
Tags : Solr,随机排序 发表时间: 2015-09-15 19:12:26
有这样的一种需求,想从索引库里随机取出4条记录。在schema.xml:配置一个动态字段,如下。具体实现可以看代码org.apache.solr.schema.RandomSortField<types>...<fieldTypename="random"class="solr.RandomSortField"/>...</types><fields>...<dynamicFieldname="rand*"type="random"indexed="true"stored="false"/>...</fields>由用户请
类别:ES/Solr | 阅读(2708)| 回复(0)| (0) 阅读全文>>
Tags : Solr,相似匹配 发表时间: 2015-09-02 18:33:51
相似匹配  在我们使用网页搜索时,会注意到每一个结果都包含一个“相似页面”链接,单击该链接,就会发布另一个搜索请求,查找出与起初结果类似的文档。Solr使用MoreLikeThisComponent(MLT)和MoreLikeThisHandler实现了一样的功能。如上所述,MLT是与标准SolrRequestHandler集成在一起的;MoreLikeThisHandler与MLT结合在一起,并添加了一些其他选项,但它要求发布一个单一的请求。我将着重讲述MLT,因为使用它的可能性更大一些。幸运的是,不需要任何设置就可以查询它,所以您现在就可以开始查询。  MLT要求字段被储存或使用检索词向量
类别:ES/Solr | 阅读(2294)| 回复(0)| (1) 阅读全文>>
Tags : Solr,javabin 发表时间: 2015-09-01 18:28:35
IamgettingaruntimeexceptionwhenIammakingthefollowingsimplecalltopingmysolratlocalhost.publicstaticvoidmain(String[]args)throwsSolrServerException,IOException{Stringurl="http://127.0.0.1:8983/solr/#";HttpSolrServersolrServer=newHttpSolrServer(url);solrServer.ping();}Theexceptionlogis:Exceptioninthrea
类别:ES/Solr | 阅读(3333)| 回复(0)| (0) 阅读全文>>
Tags : Solr,调优 发表时间: 2015-07-19 00:45:56
共整理三部分,第一部分Solr常规处理,第二部分针对性性处理,前者比较通用,后者有局限性。务必根据具体应用特性,具体调节参数,对比性能。第三部分solr查询相关的,具体应用需要全面去把控,各个因素一起起作用。第一部分E文连接http://wiki.apache.org/solr/SolrPerformanceFactorsSchemaDesignConsiderationsindexedfieldsindexedfields的数量将会影响以下的一些性能:索引时的时候的内存使用量索引段的合并时间优化时间索引的大小我们可以通过将omitNorms=“true”来减少indexedfields数量增
类别:ES/Solr | 阅读(2070)| 回复(0)| (0) 阅读全文>>
Tags : Solr,电商商品搜索,facet,电商检索,属性筛选,类目导航 发表时间: 2015-07-13 19:20:01
电商网站中,搜索业务线是直接与用户交互的重要部分,除了提供基本的关键词查询之外,提供一些导航性质的条件供用户选择,能有效提高用户体验效果。本文关注三个功能一.页面左侧的多级类目导航:二.例如上部的属性筛选:三.商品多规格的折叠展示:使用solr自带的facet和grouping能帮助我们轻松实现这样的效果。其中前两个使用的是facet。(一)、首先是类目导航问题,类目导航通常要显示多级类目的层次关系以及这次搜索下各个类目所含商品的数量。不同的电商可能商品类目设计不一样,可能只有一层或者多层类目。solr的facet能够对结果进行聚合统计,类似数据库的count(*)groupby功能。如果是要
类别:ES/Solr | 阅读(2264)| 回复(0)| (0) 阅读全文>>
Tags : Solr5,IKAnalyzer ,中文分词,Lucene5 发表时间: 2015-05-10 21:41:16
升级Solr5.1的过程就不描述了,从4.10.2升上来,基本没有任何其他问题。但启动Solr后就出现报错LOG,有人已经在OSCHINA中向IK项目提交BUG了,见此链接。废话不多,直接上修改方案吧!我修改的IK代码版本为K-Analyzer-2012FF_hf1,如果你的是其他版本的,那么对照着修改或者直接下个这版本的改吧,IKGIT传送门一共需要修改的是4个文件:均在org\wltea\analyzer这个目录下1、首先是lucene文件夹下的IKAnalyzer和IKTokenizer首先改IKAnalyzer是文件Lucene5中createComponents的原型由Lucene4
类别:ES/Solr | 阅读(5819)| 回复(0)| (0) 阅读全文>>
Tags : Solr,IKAnalyzer ,中文分词 发表时间: 2015-05-10 21:36:27
IKAnalyzer是一款结合了词典和文法分析算法的中文分词组件,基于字符串匹配,支持用户词典扩展定义,支持细粒度和智能切分,比如:张三说的确实在理智能分词的结果是:张三|说的|确实|在理最细粒度分词结果:张三|三|说的|的确|的|确实|实在|在理整合IKAnalyzer比mmseg4j要简单很多,下载解压缩IKAnalyzer2012FF_u1.jar放到目录:E:\solr-4.8.0\example\solr-webapp\webapp\WEB-INF\lib,修改配置文件schema.xml,添加代码:123456<fieldname="content"type="text_ik
类别:ES/Solr | 阅读(2339)| 回复(0)| (0) 阅读全文>>
Tags : Solr,IKAnalyzer ,中文分词,扩展词典 发表时间: 2015-05-10 21:29:37
有三点要注意(要不然扩展词典始终不生效):后缀名.dic的词典文件,必须如使用文档里所说的无BOM的UTF-8编码保存的文件。如果不确定什么是无BOM的UTF-8编码,最简单的方式就是用Notepad++编辑器打开,Encoding->选择EncodinginUTF-8withoutBOM,然后保存。项目preferences里编码选择utf8。词典和IKAnalyzer.cfg.xml配置文件的路径问题。IKAnalyzer.cfg.xml必须在src根目录下。词典可以任意放,但是在IKAnalyzer.cfg.xml里要配置对。如下:我的两个词典文件my.dic和mine.dic放在
类别:ES/Solr | 阅读(2385)| 回复(0)| (1) 阅读全文>>
Tags : Solr,搜索 发表时间: 2015-05-10 12:34:47
前些日子做了个apachesolr应用的入门介绍,也在博客记录下,方便新手看看。以搜索论坛帖子为示例。1、先下载ApacheSolr1.3http://apache.etoak.com/lucene/solr/1.3.0/apache-solr-1.3.0.zip,解压到如E:\apache-solr-1.3.0。2、下载ApacheTomcat6.0.18http://labs.xiaonei.com/apache-mirror/tomcat/tomcat-6/v6.0.18/bin/apache-tomcat-6.0.18.zip,解压到如E:\apache-tomcat-6.0.18。3
类别:ES/Solr | 阅读(1891)| 回复(0)| (0) 阅读全文>>
Tags : 全文检索引擎,Solr 发表时间: 2015-05-10 12:23:01
Solr采用Lucene搜索库为核心,提供全文索引和搜索开源企业平台,提供REST的HTTP/XML和JSON的API,如果你是Solr新手,那么就和我一起来入门吧!本教程以solr4.8作为测试环境,jdk版本需要1.7及以上版本。准备本文假设你对Java有初中级以上水平,因此不再介绍Java相关环境的配置。下载解压缩solr,在example目录有start.jar文件,启动:1java-jarstart.jar浏览器访问:http://localhost:8983/solr/,你看到的就是solr的管理界面索引数据服务启动后,目前你看到的界面没有任何数据,你可以通过POSTing命令向S
类别:ES/Solr | 阅读(2029)| 回复(0)| (0) 阅读全文>>
Tags : Solr,源码分析 发表时间: 2016-02-12 00:10:05
题记:本来计划的SolrCloud的Recovery策略的文章是3篇的,但是没想到Recovery的内容蛮多的,前面三章分别介绍了Recovery的原理和总体流程,PeerSync策略,Replication策略。本章主要介绍我在实际生产环境中碰到的recovery的几个问题,以及前面漏下的几个点。一.日志中多次出现"StoppingrecoveryforzkNodeName=..."我在公司的生产环境中总是会看到连续多次出现"WARN:StoppingrecoveryforzkNodeName=..."或者"INFO:Startingrecoveryprocess.core=..."这样的日
类别:搜索引擎 | 阅读(1387)| 回复(0)| (0) 阅读全文>>
Tags : Solr,源码分析 发表时间: 2016-02-02 19:55:10
本文是SolrCloud的Recovery策略系列的第三篇文章,前面两篇主要介绍了Recovery的总体流程,以及PeerSync策略。本文以及后续的文章将重点介绍Replication策略。Replication策略不但可以在SolrCloud中起到leader到replica的数据同步,也可以在用多个单独的Solr来实现主从同步。本文先介绍在SolrCloud的leader到replica的数据同步,下一篇文章将介绍通过配置SolrConfig.xml来实现多个Solr节点间的主从同步。一.Replication策略介绍Replication的作用在前文已经介绍过了,当需要同步的数据较多时
类别:搜索引擎 | 阅读(1516)| 回复(0)| (0) 阅读全文>>
Tags : Solr,源码分析 发表时间: 2016-02-01 19:01:27
题记:前文<Solr4.8.0源码分析(20)之SolrCloud的Recovery策略(一)>中提到Recovery有两种策略,一是PeerSync和Replication。本节将具体介绍下PeerSync策略。PeeySync是Solr的优先选择策略,每当需要进行recovery了,Solr总是会先去判断是否需要进入PeerSync,只有当PeerSync被设置为跳过或者PeerSync时候发现没符合条件才会进入到Replication。这是由PeeySync的特性决定的,PeeySync是面向中断时间短,需要recovery的document个数较少时使用的策略,因此它Rec
类别:搜索引擎 | 阅读(1251)| 回复(0)| (0) 阅读全文>>
Tags : Solr,源码分析 发表时间: 2016-01-31 19:58:27
题记:我们在使用SolrCloud中会经常发现会有备份的shard出现状态Recoverying,这就表明SolrCloud的数据存在着不一致性,需要进行Recovery,这个时候的SolrCloud建索引是不会写入索引文件中的(每个shard接受到update后写入自己的ulog中)。关于Recovery的内容包含三篇,本文是第一篇介绍Recovery的原因以及总体流程。1.Recovery的起因Recovery一般发生在以下三个时候:SolrCloud启动的时候,主要由于在建索引的时候发生意外关闭,导致一些shard的数据与leader不一致,那么在启动的时候刚起的shard就会从lead
类别:搜索引擎 | 阅读(1654)| 回复(0)| (0) 阅读全文>>
Tags : Solr,源码分析,缓存机制 发表时间: 2016-01-30 13:24:07
前文<Solr4.8.0源码分析(18)之缓存机制(一)>介绍了Solr缓存的生命周期,重点介绍了Solr缓存的warn过程。本节将更深入的来介绍下Solr的四种缓存类型,以及两种SolrCache接口实现类。1、SolrCache接口实现类前文已经提到SolrCache有两种接口实现类:solr.search.LRUCache和solr.search.LRUCache。那么两者具体有啥区别呢?1.1solr.search.LRUCacheLRUCache具有以下几个参数:size:cache中可保存的最大的项数,默认是1024initialSize:cache初始化时的大小,默认
类别:搜索引擎 | 阅读(1420)| 回复(0)| (0) 阅读全文>>
Tags : Solr,源码分析,缓存机制 发表时间: 2016-01-28 20:53:22
前文在介绍commit的时候具体介绍了getSearcher()的实现,并提到了Solr的预热warn。那么本文开始将详细来学习下Solr的缓存机制。1.简介Solr目前支持4中cache类型,每种缓存对应一种查询类型。filterCachedocumentCachefieldvalueCachequeryresultCacheSolr提供了两种SolrCache接口实现类:solr.search.LRUCachesolr.search.FastLRUCache。FastLRUCache是1.4版本中引入的,其速度在普遍意义上要比LRUCache更fast些。本文开始将详细介绍以上的内容,而本
类别:搜索引擎 | 阅读(1620)| 回复(0)| (0) 阅读全文>>
Tags : Solr,源码分析 发表时间: 2016-01-27 19:21:51
前面几节以add为例已经介绍了solrcloud索引链建索引的三步过程,delete以及deletebyquery跟add过程大同小异,这里暂时就不介绍了。由于commit流程较为特殊,那么本节主要简要介绍下commit的流程。1.SolrCloud的commit流程SolrCloud的commit流程同样分为三步,本节主要简单介绍下三步过程。1.1LogUpdateProcessorLogUpdateProcessor的commit比较简单,主要包含两个步骤,调用DistributedUpdateProcessor的commit以及将commit信息写入日志。1publicvoidproce
类别:搜索引擎 | 阅读(1323)| 回复(0)| (0) 阅读全文>>
Tags : Solr,源码分析 发表时间: 2016-01-25 20:13:06
前面两节学习了SolrCloud索引过程以及索引链的前两步,LogUpdateProcessorFactory和DistributedUpdateProcessor。本节将详细介绍了索引链的第三步DirectUpdateHandler2和UpdateLog。1.DirectUpdateHandler2.ADDDirectUpdateHandler2过程包含了Solr到Lucene的索引过程,在整个索引链中是最复杂也最重要的过程。首先,我们来查看在Solrconfig.xml中关于DirectUpdateHandler2的配置。140<updateHandlerclass="solr.Di
类别:搜索引擎 | 阅读(1428)| 回复(0)| (0) 阅读全文>>
Tags : Solr,源码分析 发表时间: 2016-01-23 13:15:49
上一节主要介绍了SolrCloud分布式索引的整体流程图以及索引链的实现,那么本节开始将分别介绍三个索引过程即LogUpdateProcessor,DistributedUpdateProcessor,DirectUpdateHandler2。本节主要研究下LogUpdateProcessor和DistributedUpdateProcessor。1.LogUpdateProcessor上一节中记述了LogUpdateProcessor的实例化,如下所示。从getInstance可以发现,LogUpdateProcessor在SolrCloud中并不一定会起作用,只有当Solr的日志等级为IN
类别:搜索引擎 | 阅读(1253)| 回复(0)| (0) 阅读全文>>
Tags : Solr,源码分析 发表时间: 2016-01-21 19:04:23
1.SolrCloud的索引过程流程图这里借用下《solrCloudUpdateRequestHandling更新索引流程》流程图:由上图可以看出,SolrCloud的索引过程主要通过一个索引链过程来实现的,那么本节主要讲述下索引链以及DistributedUpdateProcessor这个过程。2.SolrCloudupdate索引链SolrCloud的Update索引链的类是UpdateRequestProcessorChain,这个类在Solr初始化的时候就会进行定义。SolrCloud的Update索引链的组成可以通过solrconfig.xml进行自定义,比较灵活,例如:1<u
类别:搜索引擎 | 阅读(1367)| 回复(0)| (0) 阅读全文>>