随笔分类 - solr
摘要:Solr 是基于lucene的检索服务器。能够很快的搭建检索服务,并且提供的很多实用的组件。例如 高亮(highlight)、拼写检查(spellCheck)和匹配相位(moreLikeThis)。下面我将在我工作中接触到的一些实践与大家分 享。(我当前使用的solr 版本是 3.4,使用tomcat 7.0.21) (如果你也使用的是 tomcat 服务器,而且查询请求包含中文的话,还需要 修改 TOMCAT_HOME/conf/server.xml 的 <Connector ... URIEncoding="UTF-8"/> 使用 UTF-8 编码,详见 U
阅读全文
摘要:原文出处:http://blog.chenlb.com/2010/08/solr-use-custom-query-parser.html 由于 Solr 默认的 Query Parser 生成的 Query 一般是 “短语查询”,导致只有很精确的结果才被搜索出来。大部分时候我们要分词后的 BooleanQuery。一年半前有篇关于 solr 使用自定义...
阅读全文
摘要:原文出处:http://blog.chenlb.com/2010/08/get-solr-analysis-word.html Solr 1.3 只有 AnalysisRequestHandler 处理器,只能提交文档来观察文档的分词结果。 Solr 1.4 有了对字段的分词。FieldAnalysisRequestHandler 可以对某个字段或字段类型的分词器对查询串取到分词数据。 用 solr 的默认配置,如 solr 1.4.1。 我用 mmseg4j 为例。在 solr.root/example/solr/conf/schema.xml 的 types 元素内...
阅读全文
摘要:原文出处:http://blog.chenlb.com/2010/08/solr-with-log4j.html Solr 默认是用 Jdk 的日志输出。还好 Solr 是使用 slf4j 日志库,可以方便换用其它日志输出。solr 使用 log4j 也不难。重新生成 solr.war 把 solr.war 解压,然后把 log4j.properties 放到 WEB-INF/...
阅读全文
摘要:本文将介绍Solr查询中涉及到的Cache使用及相关的实现。Solr查询的核心类就是SolrIndexSearcher,每个core通常在 同一时刻只由当前的SolrIndexSearcher供上层的handler使用(当切换SolrIndexSearcher时可能会有两个同时提供服 务),而Solr的各种Cache是依附于SolrIndexSearcher的,SolrIndexSearcher在...
阅读全文
摘要:Solr data import 中XML/HTTP 数据源的使用参考自:http://wiki.apache.org/solr/DataImportHandler DataImportHandler可以通过datasource数据源索引来自于HTTP的数据。包括REST/XML和RSS/ATOM。 在版本1.4中,推荐使用URLDataSource。 配置示例如下: Xml代码 <da...
阅读全文
摘要:使用Solr Data Import的delta-import功能 Solr提供了full-import和delta-import两种导入方式,这篇文章主要讲解后者。 所谓delta-import主要是对于数据库(也可能是文件等等)中增加或者被修改的字段进行导入。主要原理是利用率每次我们进行import的时候在solr.home\conf下面生成的dataimport.properties文件,此...
阅读全文
摘要:原文出处:http://blog.chenlb.com/2009/12/update-to-solr-1-4-matter.html Solr 1.4 已经正式发布一段时间了,是考虑升级的时候了。记录下我目前环境的情况以及注意事项。 Solr 1.4 比较吸引人的有两功能:一是 Trie 的字段支持高性能的 range query,快10倍;二是 solr replicatio...
阅读全文
摘要:原文出处:http://blog.chenlb.com/2010/03/solr-delete-data.html 有时候需要删除 Solr 中的数据(特别是不重做索引的系统中,在重做索引期间)。删除一些 Solr 无效数据(或不合格数据)。 删除 solr 中的数据有几种方式: 1、先来看 curl 方式: curlhttp://localhost:8080/update--...
阅读全文
摘要:原文出处:http://blog.chenlb.com/2009/12/updatedsolr-1-4-upgrade-performance.html 昨天升级完 Solr 1.4。今天看统计结果,整体性能有所提升。环境基本一致,请求量基本一致,0 - 0.1 s响应时间的比例提高 7 个百分点。 如图: 升级前(solr 1.3) solr1.3 的搜索响应时间比例,共 2...
阅读全文
摘要:这篇文章接着上一篇文章,把Solr的home目录介绍完。所谓的Solr home目录实际上是一个运行的Solr实例所对应的配置和数据(Lucene索引)。在上一篇文章中我提到过在Solr的example/solr目录 就是一个Solr用做示例的默认配置home目录。实际上example/multicore也是一个合法的Solr home目录,只不过是用来做mult-core设置的。那么我们来看看e...
阅读全文
摘要:这篇文章将简要的介绍一下Solr的目录结构。进入Solr所在的目录,我们可以看到以下几个目录:build、client、dist、example、lib、site、src。接下来分别对其进行介绍。 build:该目录是在ant build过程中生成的,其中包含了未被打包成jar或是war的class文件以及一些文档文件。 client:该目录包含了特定语言的Solr客户端API,使得使用其他语言的...
阅读全文
摘要:SOLR环境变量的配置 收藏 solr.solr.home的理解和配置 主要有两种 基于环境变量solr.solr.home在当前用户的环境变量中(.bash_profile)或在/opt/tomcat/catalina.sh中添加如下环境变量export JAVA_OPTS="$JAVA_OPTS -Dsolr.solr.home=/opt/solr-tomcat/solr" 评价:此种方法...
阅读全文
摘要:此类问题,不仅仅限于SOLR,还有很多基于XML配置程序,也会出现这种问题,原因十有八九就是 XML格式书写错误 有问题的XML : view plaincopy to clipboardprint?<?xmlversion="1.0"encoding="UTF-8"><ContextdocBase="/opt/solr/solrApp"debug="0"crossContext...
阅读全文
摘要:在很多情况下,我们并不想自己主动触发COMMIT相应的XML给SOLR,这样带来很多的不便,恰好,SOLR通过配置文件可以自行在满足指定的条件下自动的COMMIT索引,同时,让前端检索实例可以检索到最新生成的数据,而不需要人为干预。 方法很简单:找到solrConfig.xml文件 找到以下行,并增加以下配置 view plaincopy to clipboardprint?<update...
阅读全文
摘要:打开SOLR的核心配置文件: solrconfig.xml 找到 standard request handler 写入以下XML配置代码: view plaincopy to clipboardprint?<requestHandlername="standard"class="solr.SearchHandler"default="true"><!--defaultval...
阅读全文
摘要:SOLR复制模式,是一种在分布式环境下用于同步主从服务器的一种实现方式,因之前提到的基于rsync的SOLR不同方式部署成本过高,被SOLR1.4版本所替换,取而代之的就是基于HTTP协议的索引文件传输机制,该方式部署简单,只需配置一个文件即可。 以下讲解具体操作步骤: 步骤分主服务器和从服务器,允许有多个从服务器,即从服务器的配置一样。 主服务器: 在solrConfig.xml中,找到以下行...
阅读全文
摘要:按层面检索是SOLR推出的一项特性,可以再检索结果中按照事先设定的分类,标签等显示,目前已经有很多搜索引擎提供这项功能,现将SOLR的实现步骤展示给大家: 首先在配置之前,需要将自己的分类,或标签等将要按照层面检索的字段,设置为索引,存储格式,并已创建索引。 找到SOLR的核心配置文件: solrconfig.xml 找到SOLR的标准请求处理器,并加入以下XML代码: standard requ...
阅读全文
摘要:SOLR虽然为我们提供了分词的接入方法,但很显然并不奏效,搜遍了大江南北,也没有什么可参考的,大部分都是使用的IK或庖丁之类的分词~~,难 不成就这样永远活在别人的阴影中??答案是"NO!",如果是这样那就意味着屏蔽词管理,词典实时更新,实时持久化等多个个性化的产品需求得以在这些分词 系统上半路杀入,老鸟应该都明白这种做法的成本是太高了。 SOLR推荐但失败的分词接入方法是在schema.xml字段配置文件中写入以下配置: 编写自己的TokenFactory ,该类继成自 SOLR的BaseTokenizerFactory ,找到以下配置节点,并将 tokenizer的 c
阅读全文
摘要:关于这篇文章我本来不想写,但是后来在我自己亲身的操作中,发生了很多意想不到的事,到最后我完成整个操作的时候,才发现非常的简单,简单的倒难以想象。但是就是这么一个简单的操作过程却被很多人写的复杂要命。所以我觉得有必要给广大初学者以最快速度搞清楚问题。 入正题: 1》你有两台机器,在每台机器上运行 ssh-keygen -t rsa命令后一路三个回车,它的结果是在你当前用户的主文件夹下面会生成一个 .ssh文件夹里面有两个文件。 2》cp id_rsa.pub authorized_keys将两台机器的authorized_keys互相交换,可以使用命令: scp authorized use..
阅读全文