
solr
文章平均质量分 68
SAN_YUN
这个作者很懒,什么都没留下…
展开
-
三种solr提交(commit)索引的方式
三种solr提交索引的方式1. commit通过api直接commit,这样性能比较差,在我测试下,平均每条commit600msHttpSolrServer solrServer = new HttpSolrServer("http://localhost:8080/solr/dtrace");SolrInputDocument doc1 = new SolrInputD...原创 2014-03-01 13:40:05 · 1251 阅读 · 0 评论 -
solr build index例子
p = PeopleDO({'userid':101,'staff':True,'username':'lili','pic':'http://img4.duitang.com/uploads/people/201207/12/20120712164512_uEfza.thumb.60_60_c.jpeg'})# print 'id=%s ,smallAvatar=%s,total_...原创 2013-08-20 14:24:03 · 137 阅读 · 0 评论 -
solr build索引时commit与optimize的概念
大家都知道,solr在提交索引的时候有commit和optimize的概念,今天来分析一下: commit当你像solr提交索引更新时,只有运行了commit,索引才会发生变化。当然也并不意味着你每次提交都要commit,如果不是那么紧急,你可以多次提交之后,再执行commit操作。 optimizeoptimize有点像硬盘上整理磁盘碎片的操作。为了提高搜索速度,它会...原创 2013-08-20 14:22:45 · 259 阅读 · 0 评论 -
solr in action
solr in action电子书原创 2013-08-20 13:56:47 · 103 阅读 · 0 评论 -
solr load比较高
最近solr的load比较高,通过jstack查看:写道"catalina-exec-13600" daemon prio=10 tid=0x00002aabb1468800 nid=0x226b runnable [0x000000004b439000] java.lang.Thread.State: RUNNABLE at org.apache.lucene.search.Fiel...原创 2013-12-02 09:50:48 · 145 阅读 · 0 评论 -
solr的函数查询_FunctionQuery_总结
作用函数查询的作用,是影响计算score的算法,并不替换,只是影响。普通的计算score的方法是lucene本身的算法。描述如下:A function query allows you to introduce a component of the score that is computed,based on a mathematical expression of your...原创 2012-12-21 15:55:58 · 211 阅读 · 0 评论 -
solr java客户端build索引
[code="java"]package com.duitang.views.test;import java.io.IOException;import org.apache.solr.client.solrj.SolrServerException;import org.apache.solr.client.solrj.impl.CommonsHttpSolrServe...原创 2012-12-17 17:08:36 · 126 阅读 · 0 评论 -
Solr搜索的排序打分规则
使用Solr搭建搜索引擎很容易,但是如何制定合理的打分规则(boost)做排序却是一个很头痛的事情。Solr本身的排序打分规则是继承自Lucene的文本相关度的打分即boost,这一套算法对于通用的提供全文检索的服务来讲,已经够用了,但是对于一些专门领域的搜索来讲,文本相关度的打分是不合适的。如何来定制适合自身业务的排序打分规则(boost)呢?经过这段时间的思考与实践,想到了如下三个...原创 2012-11-20 17:48:20 · 488 阅读 · 0 评论 -
Solrj
solr 的java客户端可比python复杂一些,贴点代码: public static void main(String[] args) throws MalformedURLException, SolrServerException { CommonsHttpSolrServer server = new CommonsHttpSolrServer("http://192.168...原创 2012-11-20 14:17:40 · 114 阅读 · 0 评论 -
Lucene Scoring 评分机制
Lucene 评分体系/机制(lucene scoring)是 Lucene 出名的一核心部分。它对用户来说隐藏了很多复杂的细节,致使用户可以简单地使用 lucene。但个人觉得:如果要根据自己的应用调节评分(或结构排序),十分有必须深入了解 lucene 的评分机制。Lucene scoring 组合使用了 信息检索的向量空间模型 和 布尔模型 。首先来看下 lucene 的评分...原创 2013-08-21 20:52:43 · 162 阅读 · 0 评论 -
Scaling Solr(Solr的扩展)
Solr 的扩展 (Scaling) 当你的索引数量越来越大,你会发现你的搜索响应时间变得更慢,索引新内容的时间也会越来越长,那么,到了做出一些改变的时候了,幸运的是, solr 很好的考虑到了这些情况,你只需要改变你的配置就可以了。以下将从三个方面讲述 solr 的 scaling :l 调优某个 Solr 服务器 (Scale High)通过缓存和内存管理优...原创 2013-08-21 20:55:20 · 145 阅读 · 0 评论 -
solr 更新index的最佳实践
其中重要一点是,solr不运行并发commit。懒得翻译了,直接看E文吧: 参考:http://wiki.solarium-project.org/index.php/V2:Best_practices_for_updates原创 2013-08-22 15:24:12 · 171 阅读 · 0 评论 -
solr build索引性能
测试代码package mytest;import java.util.concurrent.CountDownLatch;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import org.apache.solr.client.solrj.embe...原创 2014-03-01 13:26:23 · 5493 阅读 · 0 评论 -
Solr性能优化之filterCache
原文:Solr性能优化之filterCache什么是filtercache? solr应用中为了提高查询速度有可以利用几种cache来优化查询速度,分别是fieldValueCache,queryResultCache,documentCache,filtercache,在日常使用中最为立竿见影,最有效的应属filtercache,何谓filtercache?这个需要从一段sol...原创 2014-02-27 10:48:39 · 243 阅读 · 0 评论 -
Solr索引放入内存
在一次技术群中,中听到一位sina的架构师,他们是采用基于lucene做的搜索服务,索引在20多G数据量,差不多是在亿的级别上,PV量在500万 /天左右,高峰时期500个并发量/s,采用的是增量索引 ,读写索引都在同一台机上。他们并没有采用分布式,而是采用单机提供服务,主要是在配置上内存提高 到32-64G,再加cpu:32个core. 到底他们在架构上采取了什么样的优化,并不得...原创 2013-08-28 11:45:16 · 1006 阅读 · 0 评论 -
SolrCore查询过程源码分析
一.环境启动代码SolrResourceLoader.SetSolrHome("/duitang/dist/app/branches/mdrill/trunk/adhoc-core/solr");SolrResourceLoader.SetSchemaHome("/home/taobao/solr/schema");ShardPartion.base = "/group/tbd...原创 2014-02-12 15:37:45 · 209 阅读 · 0 评论 -
通过设置SolrInputDocument 的boost来改变文档评分
solr通过关键字查询后的文档得分最后要乘以这个boost因子,boost默认为1.0f 我们可以通过更新文档的boost从而来影响文档的得分,从而影响结果的排序。public class SolrClientUpdateDemo { public static final String SOLR_URL = "http://localhost:8088/solr-src/core...原创 2014-01-31 23:18:33 · 196 阅读 · 0 评论 -
Solr 使用 Log4j
原文出处:http://blog.chenlb.com/2010/08/solr-with-log4j.html Solr 默认是用 Jdk 的日志输出。还好 Solr 是使用 slf4j 日志库,可以方便换用其它日志输出。solr 使用 log4j 也不难。重新生成 solr.war把 solr.war 解压,然后把 log4j.properties 放到 WEB-INF/clas...原创 2014-01-25 21:31:12 · 352 阅读 · 0 评论 -
solr基本概念
原文:http://www.solrtutorial.com/basic-solr-concepts.html Indexing(索引)solr有快速显示搜索结果的能力。因为solr不是直接去搜索文本,而是搜索索引。这个原理就类似想通过某个关键字找到书的某一页都是通过书的索引来查找,而不是每页去匹配这个单词。solr的这种索引叫倒排序(inverted index),因为他把...原创 2014-01-25 20:49:02 · 284 阅读 · 0 评论 -
solr build索引遇到控制字符的错误
今天build solr 索引遇到如下错误: 发现提交的数据包含了控制字符,过滤就没有问题了。m = u' \x11\u300b: \u5bf9\u81ea\u5df1\u597d\u4e00\u70b9\u3001\u6bd4\u4ec0\u4e48\u90fd\u5f3a\uff01'for x in m: a = ord(x) if a in [17...原创 2013-08-23 15:12:21 · 115 阅读 · 0 评论 -
solr的httpCaching
solr的httpCaching需要配置: <requestDispatcher handleSelect="true" > <httpCaching lastModifiedFrom="openTime" etagSeed="Solr" never304="false"> &a原创 2012-07-23 18:02:08 · 165 阅读 · 0 评论 -
Scaling Solr调优(Solr的扩展)
关于Solr可以参考之前的博客或者百度一下。这里主要讲Solr的扩展,包括横向,纵向,以及深度扩展。原文:http://forchenyun.iteye.com/blog/711011Javaeye的排版有问题,将就看吧Solr的扩展(Scaling) 当你的索引数量越来越大,你会发现你的搜索响应时间变得更慢,索引新...原创 2012-07-23 17:04:24 · 185 阅读 · 0 评论 -
Lucene Analyzer(分词器)
分词器能以某种规则对关键字进行分词,将分好的词放到目录中,以作为检索到的条件,在创建索引时会使用到分词器,在搜索时也将用到分词器,这两个地方要使用同一个分词器,否则可能找不到结果.分词器一般的工作流程:切分关键词去除停用词对于英文单词,把所有字母转为小写注:有的分词器对英文支持的非常好,还能对英文单词进行时态还原.停用词的概念有些词在文本中出现的频率非常高,但是...原创 2012-07-05 14:16:08 · 149 阅读 · 0 评论 -
solr遇到的cpu使用率过高问题。
[code="java"]"pool-13-thread-1" prio=10 tid=0x00000000444e0000 nid=0x38d9 runnable [0x000000004293c000] java.lang.Thread.State: RUNNABLE at org.apache.lucene.util.UnicodeUtil.UTF8toUTF1...原创 2012-07-01 16:51:58 · 1180 阅读 · 0 评论 -
全文搜索的一些理论总结2
全文搜索的基础是从一串字符串中查询出一串字符。本文总结一下实现方法: 1.通过正则实现>>> p = re.compile("abc|fuck")>>> p.findall("abcfuckselpabcdslfabceflabc")['abc', 'fuck', 'abc', 'abc', 'abc'] 2. 通过Trie树实...原创 2012-06-19 15:14:23 · 217 阅读 · 0 评论 -
solr的配置
[code="python"] ...原创 2012-06-09 17:21:56 · 101 阅读 · 0 评论 -
全文搜索的一些理论总结
很长一段时间我对全文搜索都有种错误的认识,认为学习全文搜索没有必要,全文搜索在小公司用不上,在大公司有专业人才。其实这种想法是非常错误的,现在的网站向社交关系发展,用户产生海量内容,如果没有全文搜索根本无法体现出UGD网站的价值。比如蘑菇街支持标签搜索,”瀑布排序“都只能通过搜索引擎实现。 全文搜索 的分类1. 顺序扫描法 2. 逆向索引全文搜索的处理步骤...原创 2012-06-09 11:42:47 · 227 阅读 · 0 评论 -
solr 的analyzer
下面是solr一个分词的配置,看不明白? 需要了解一下solr的Analyzers, Tokenizers, and Token Filters了。 <fieldType name="text" class="solr.TextField" positionIncrementGap="100" compressThreshold="100...原创 2012-06-07 17:43:29 · 154 阅读 · 0 评论 -
通过 Solr 取得分词
原文:http://blog.chenlb.com/2010/08/get-solr-analysis-word.html Solr 1.3 只有 AnalysisRequestHandler 处理器,只能提交文档来观察文档的分词结果。 Solr 1.4 有了对字段的分词。FieldAnalysisRequestHandler 可以对某个字段或字段类型的分词器对查询串取到分词数据...原创 2012-06-07 16:19:51 · 292 阅读 · 0 评论 -
solr 主从复制
SOLR复制模式,是一种在分布式环境下用于同步主从服务器的一种实现方式,因之前提到的基于rsync的SOLR不同方式部署成本过高,被SOLR1.4版本所替换,取而代之的就是基于HTTP协议的索引文件传输机制,该方式部署简单,只需配置一个文件即可。以下讲解具体操作步骤: 步骤分主服务器和从服务器,允许有多个从服务器,即从服务器的配置一样。[b]主服务器[/b]:在solrConfig...原创 2012-04-25 14:44:44 · 156 阅读 · 0 评论 -
Lucene 新手记录
不管怎么说,搜索都是非常重要的技术,不仅仅是操作系统集成了,很多应用软件都有搜索的功能,论坛有专门用于在论坛搜索的,互联网就有诸如像百度、谷歌之类的搜索引擎,总而言之,只要数据量稍微大一点的应用程序,都会提供搜索这个功能.我们为什么需要Lucene?任何的的查询功能都类似,都是对文本内容的搜索,说白了,就是找出含有指定字符串的的资源,只是查找的范围不同而已.目前的主流搜索都是全...原创 2012-07-05 14:17:59 · 103 阅读 · 0 评论 -
利用 Lucene 实现高级搜索
Lucene 支持多种形式的高级搜索,我们在这一部分中会进行探讨,然后我会使用 Lucene 的 API 来演示如何实现这些高级搜索功能。布尔操作符大多数的搜索引擎都会提供布尔操作符让用户可以组合查询,典型的布尔操作符有 AND, OR, NOT。Lucene 支持 5 种布尔操作符,分别是 AND, OR, NOT, 加(+), 减(-)。接下来我会讲述每个操作符的用法。 ...原创 2012-07-05 14:24:33 · 138 阅读 · 0 评论 -
solr cache使用分析和介绍
SOLR优化-filter cache http://hankesi2000.iteye.com/blog/1083377http://www.kafka0102.com/2010/08/267.htmlhttp://www.kafka0102.com/2010/08/293.htmlhttp://www.kafka0102.com/2010/10/366.htmlhttp...原创 2012-07-06 17:25:04 · 106 阅读 · 0 评论 -
lucene3.0范围查找TermRangeQuery
在lucene3.0中,范围查询也有很大的变化,RangeQuery已经不推荐使用,使用TermRangeQuery和NumericRangeQuery两个替代。TermRangeQuery:主要用于文本范围查找; IndexReader reader = IndexReader.open(FSDirectory.open(INDEX_DIR), true); // only s...原创 2012-07-19 16:43:19 · 270 阅读 · 0 评论 -
Solr 使用入门介绍,以搜索论坛帖子为示例
solr配置还是比较麻烦,此文主要是记录第一次使用solr。这里也有一篇:http://blog.chenlb.com/2009/05/apache-solr-quick-start-and-demo.html但配置文件缺失 1. 首先去下载apache-solr-3.6.0解压之后进入example目录:etc example-DIH exampledocs ...原创 2012-07-18 21:53:12 · 119 阅读 · 0 评论 -
solr 的cache
我是通过 python脚本对solr 进行cache测试的: 1. 在同一个请求中会被缓存,但进程结束之后 cache 就失效了。2. 时间范围过滤对性能影响很大: 6天200ms,60天800ms,4倍差异。3. 经测试not id :0和普通关键字性能没有差异。 测试代码: fq = ['category:9 OR category:1', '...原创 2012-07-12 18:21:44 · 132 阅读 · 0 评论 -
Solr调优参考
原文:http://rdc.taobao.com/team/jm/archives/1753 共整理三部分,第一部分Solr常规处理,第二部分针对性性处理,前者比较通用,后者有局限性。务必根据具体应用特性,具体调节参数,对比性能。第三部分solr查询相关的具体应用需要全面去把控,各个因素一起起作用。第一部分<Solr常规的调优>E文连接 http://wiki....原创 2012-07-11 16:06:33 · 136 阅读 · 0 评论 -
solr 术语
最近在检查公司中solr索引进程死掉和outofmemory的问题,才进一步的阅读solr文档。发现读起这样超级多的E文文档还真的吃力呢。研究solr就从这开始每天记录学习solr的心得给自己,同时也希望能得到大家的帮助。 首先要将solr中涉及到的术语翻译为中文。 Auto-warming: What Solr does when it opens a ...原创 2012-07-11 12:07:43 · 204 阅读 · 0 评论 -
Solr\Lucene优劣势分析
最早lucene2.4以及以前,追溯到2008年前后,lucene刚刚引起大家的关注,到后来Nutch、solr的出现,lucene变得更加热。Nutch、Solr的发展,极大推动了lucene的升级。对于一些接触过搜索,使用过lucene、solr的人来说,一般都会感觉lucene、solr很牛逼。我个人也认为solr、lucene确实非常 NB,他涵盖了信息检索的几乎全部基础知识和非...原创 2012-07-11 11:20:20 · 198 阅读 · 0 评论 -
今天solr遇到的问题。
线上 15:32:36 搜索出现问题: INFO: [feed] webapp=/solr path=/select params={fl=id&sort=last_replied_datetime+desc&start=0&q=(*)+_val_:"div(photo_size,+sum(product(photo_width,+photo_heigh...原创 2012-07-10 20:25:39 · 242 阅读 · 0 评论