`
lies_joker
  • 浏览: 40861 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

solr4.8的安装,配置,使用,搜索,推荐及看法

阅读更多
solr4.9发布了,用一个网友的意思,现在solr绝壁是Firefox之外最大的版本帝。公司的solr版本是4.0,这几天决定给升级到4.8(4.9在maven上资源还不够),抽时间在整理下分布式solr.
      今天先把solr4.8安装过程写下来,其实和4.0区别不大。
1,环境必须是tomcat7.0以上,jdk7.0以上,jre7.0以上,且配置好环境变量;
2,example\webapps 下的solr.war;
3,solr home,并配置web.xml;
4,拷贝example\lib\ext下的所有jar 到tomcat_home\webapps\solr\WEB-INF\lib下;
5,tomcat_home\webapps\solr\WEB-INF下新建一个classes文件夹,将example\resources下的log4j.properties拷贝过去;
6,启动,bingo!


------------------------程序员的分割线-------------------------

上面的过程,可以实现solr单核,简单的索引,当然这个肯定不是我们想要的。我们想要的远远比这个要多。首先是Multicore,从example\multicore拷贝所有文件到solr_home下,根据solr.xml来配置,实现多核。密切注意schema.xml和solrconfig.xml的配置,建议把schema.xml精简,然后solrconfig对照,避免出现不存在的字段。

多核实现后,是数据库关联,方便对数据库进行导入,目前4.8版本是有bug的,dataimport后页面会一直indexing,实际上已经完成,看不到索引数据库的过程,但是不影响功能。实现数据库导入,需要将contrib和dist放入solr_home下,删掉dist下的war和文件夹,修改solrconfig.xml以及新建指定的dataimport.xml文件,这些与之前版本没有区别。不要忘了导入数据库驱动到solr下的WEB-INFO/lib里。

4.8之后solr又发布新的分词接口,之前solr4.0的接口不能使用,需要中文分词只好重新实现solr的接口,所以小伙伴们选择一个稳定的solr版本,短时间内就不要随意变动了,工作量不小。不过solr4.8还是很值得升级的。目测solr5.0也很快要发布了,观望一个季度吧。有关中文分词,我采用的是ansj分词器,开源,持续更新。方法我会另开篇章来描述。

2014年7月9日更新

加入ansj中文分词器。
我的ansj是最新版的,个人是比较喜欢这个分词器的,github地址在https://github.com/ansjsun/ansj_seg/,有兴趣的朋友可以关注下。我是用最新版的,2.0以上的版本。作者提供了良好的多种方案分词方法以及庞大的算法工具库,看着让人眼花缭乱。如果想和solr结合,需要自己重写solr或者lucene开放的分词接口,我是重写了Analyzer和Tokenizer接口,用类似IK最新版的方法实现中文分词搜索和索引。网上有很多方案,实现方法和我不尽相同,不过solr更新迭代太快,所以还是自己读得懂分词器源码,自己改写来得实在。ansj的三种中文分词,如果索引数据量不大并且用户量不大,建议用NlpAnalysis,具备发现新词等功能;否则保守起见,还是用ToAnalysis比较靠谱(速度很快,亲测超过IK)。


多聊几句有关分词的话吧。之前公司用的是IK,我一直使用,也做过升级。IK算是小巧精悍并且性能良好的分词器了,不过最近两年没有更新,据我观察是国内使用量最高的分词器,资料很多,所以没有太高要求的建议还是用IK,遇到问题都可以解决,减少开发量。因为开源(源码挂在google上,很蛋疼)而且代码很容易读懂,所以二次开发也较为容易,我之前做敏感词过滤曾经改写过,效果良好。目前暂时还是ansj+IK。ansj我是较为推荐的,就目前来看,分词速度以及功能扩展性很强悍,缺点是作者自己不写lucene和solr的接口实现(当然人家是做自然语言不是做搜索的,没必要),其他大神来写的接口很少持续更新,需要自己修改。ansj功能太多,只做搜索的话,会觉得内容很冗余。不过既然是程序员,就不要把自己想象成码农,而是努力往极客的方向靠一靠。一旦理清楚ansj,绝壁会有种豁然开朗的感觉。

2014年7月10日更新

升级到solr4.8.1,修复10个bug。
FastVectorHighlighter 快速高效的高亮,占有IO会更多

solrconfig.xml配置:
<bool name="f.title.hl.useFastVectorHighlighter">true</bool>

schema.xml配置:
<field name="title" type="text_ansj" indexed="true" stored="true" multiValued="true" termVectors="true" termPositions="true"  termOffsets="true" />



修bug时间到!
warn no appenders could be found for logger ,步奏5检查是否有问题,我之前是把classes写成classses,折腾很久!

<schema name="example core zero" version="1.1">要写成<schema name="example core zero" version="1.5">不然中文搜索效果极差,solr提供的example绝壁是坑货!发现自己搜索效果不理想的请仔细检查schema.xml

SolrCore 'collection1' is not available due to init failure: Could not load config for solrconfig.xml,linux下会出现的问题,请把example/solr/collection1拷入solr_home下,并且步骤三目录分隔符用/而不是\。



提示区!
用中文分词,schema.xml配置很关键,除了从网上粘贴,自己最好还是要看得懂配置文件的真正含义!
solrconfig.xml和schema.xml两个配置文件,建议逐行读懂,读懂的意思就是要理解。





这块我会持续更新。有做搜索兴趣的朋友可以互相关注。




0
1
分享到:
评论
8 楼 lies_joker 2014-07-22  
monolithic 写道
我这边用的是mmseg4j ,与最新的solr4.9结合,也挺好的,没用过ansj_seg的,不知道有没有比较的

IK,mm都是比较出名的,相比较而言,ansj稍微低调些,调用起来也没有IK,mm那么成熟,ansj主要是处理自然语言和提取文本方面,如果只是中文分词索引和检索,没有必要用的。
7 楼 monolithic 2014-07-21  
我这边用的是mmseg4j ,与最新的solr4.9结合,也挺好的,没用过ansj_seg的,不知道有没有比较的
6 楼 lies_joker 2014-07-09  
东林碣石 写道
我想问一下楼主,你们公司使用solr建的索引的规模有多大?有几千万doc吗?硬件配置怎么样?

额,我们公司索引是分开的,分成很多core,加在一起几千万肯定是有的,几千万不算大吧,服务器配置很行吧,不太清楚,我们是做了性能负载的,多台服务器分摊压力的。
5 楼 东林碣石 2014-07-09  
我想问一下楼主,你们公司使用solr建的索引的规模有多大?有几千万doc吗?硬件配置怎么样?
4 楼 lies_joker 2014-07-09  
bonait 写道
这只是安装,怎么没有跟中文分词器结合
我写了,网上关于中文分词结合solr的方法实在太多,我之前用的是IK,准备改成ansj,方便二次开发,这个是要另开篇章来写的。中文分词最好是要自己找个好的版本定制下。
3 楼 lies_joker 2014-07-09  
ljl_ss 写道
用Elasticsearch  啥tomcat 啥 1,2,3,4,5 全省了
实际上使用solr的,一般都是web项目,而且多是需要二次开发的,tomcat容器更接地气些。
2 楼 ljl_ss 2014-07-09  
用Elasticsearch  啥tomcat 啥 1,2,3,4,5 全省了
1 楼 bonait 2014-07-08  
这只是安装,怎么没有跟中文分词器结合

相关推荐

    solr搜索服务器安装配置

    ### Solr搜索服务器安装配置详解 #### 一、Solr简介 Apache Solr是一款开源的高性能全文搜索引擎,基于Lucene库构建。它采用Java开发,提供了丰富的API接口,支持多种编程语言,使得开发者能够轻松地集成搜索功能到...

    Solr安装与配置

    Solr 是一个基于 Lucene 的开源搜索引擎,提供了一个分布式、可扩展、易用且功能强大的全文...总的来说,Solr 的安装和配置是一个涉及多个步骤的过程,但遵循上述指南,你应该能够成功搭建起一个基本的 Solr 搜索环境。

    solr4.1安装配置

    在本文中,我们将深入探讨如何在Windows 7 64位环境下安装配置Solr 4.1,并结合IK分词器进行中文处理,以及使用SolrJ进行索引操作。 一、安装配置Solr 4.1 1. **安装JDK**: - 首先,下载并安装JDK 7的64位版本,...

    solr的安装与使用

    Solr安装与使用 Solr是一款功能强大的搜索引擎,能够帮助我们快速搭建企业搜索平台。在本文中,我们将详细介绍Solr的安装和使用过程。 一、安装Solr 首先,我们需要下载Solr的安装包。这里我们使用的是Solr 1.3...

    Solr配置安装(一)

    Solr配置安装(一) Apache Solr是一款基于Java的开源搜索服务器,由Apache软件基金会开发。它提供了全文检索、命中高亮、拼写检查、实时索引和多种数据类型支持等强大功能,常用于构建高性能的搜索应用。本文将...

    solr安装配置

    本文将详细介绍如何在本地环境中安装和配置 Solr。 首先,我们需要准备的环境是 JDK 和 Tomcat。Solr 建立在 Java 之上,所以必须先安装 JDK 1.6 或以上版本。在安装 JDK 后,需要设置相应的环境变量,例如 `JAVA_...

    solr安装与配置

    ### Solr安装与配置知识点详解 #### 一、Solr简介 Solr是一款开源的、高性能的全文搜索引擎,广泛...通过本文介绍的知识点,读者可以更好地理解和掌握Solr的安装与配置流程,为进一步学习和使用Solr打下坚实的基础。

    solr4.9安装使用手册

    Solr 是一个开源的全文搜索引擎,它提供了高效、可扩展的搜索和分析功能。Solr 4.9.0 版本是该软件的一个特定发行版,与早期的1.x版本相比,它可能包含了新的特性和改进。在这个版本中,安装和配置过程可能会有所...

    solr安装配置(单核、多核)

    本篇将详细介绍如何在本地环境中安装并配置 Solr,包括单核心(core)和多核心的设置。 **一、Solr 单核心安装配置** 1. 首先,我们需要从 Apache Tomcat 官网下载 Tomcat,这将作为 Solr 的服务器容器。Tomcat ...

    solr安装到Linux系统

    在Linux系统上如何搭建了solr搜索服务,同时运用到项目中

    Tomcat和solr安装配置说明

    Tomcat和solr安装配置说明,详细记录了Tomcat和solr安装配置

    Solr(Cloudera)使用手册

    2. **更新Config**:使用`solrctl init`命令初始化Solr配置,然后通过`solrctl instanceDir --generate`命令生成新的配置文件夹。 3. **修改Schema.xml**:进入配置文件夹并编辑Schema.xml文件,添加或修改字段定义...

    Solr安装与配置solr.rar

    本压缩包“Solr安装与配置solr.rar”包含了Solr的安装和配置步骤,对于理解和使用Solr进行全文检索、索引和查询操作具有重要的参考价值。 首先,我们需要了解Solr的基本架构。Solr的核心组件包括索引库、请求处理器...

    tomcat和solr的配置安装过程

    "Tomcat 和 Solr 的配置安装过程" 在本文中,我们将详细介绍 Tomcat 和 Solr 的配置安装过程。Tomcat 是一个开源的 Web 服务器软件,而 Solr 是一个基于 Lucene 的搜索服务器。它们都是 Java 语言开发的,因此可以...

    solr集群安装部署

    Apache Solr 是一个流行的开源全文搜索引擎,它提供了高效、可扩展的搜索和分析功能。在企业级应用中,通常需要部署Solr集群来实现高可用性和数据分布,以处理大量的索引和查询请求。以下是详细的Solr集群安装部署...

    solr的安装使用步骤

    ### Solr的安装使用步骤详解 #### Solr概述与特性 **Solr** 是 Apache 下的一个顶级开源项目,它基于 **Lucene** 进行构建,提供了强大的全文搜索能力。相较于 Lucene,Solr 提供了更为丰富的查询语言支持,并且...

    手把手教你 对 solr8 配置用户登录验证 涉及到的配置文件

    Solr 是一个流行的开源搜索引擎,提供了全文搜索、高级查询语法、多语言支持等功能。在 Solr 8 中,为了确保系统的安全性和数据的隐私性,配置用户登录验证是非常重要的步骤。本文将详细介绍如何对手动配置 Solr 8 ...

    solr所需要配置的资源.zip

    Solr是一款基于Lucene的开源全文搜索引擎,它提供了高性能、可扩展的搜索和分析服务。在本压缩包中,包含了Solr运行所需的一些关键组件,包括Tomcat服务器、IK分词器以及Solr自身的配置文件。下面将详细介绍这些组件...

Global site tag (gtag.js) - Google Analytics