Solr4.0+IKAnalyzer中文分词安装(转)
有近2年没接触Solr跟Lucene了,这2年自己跟solr/lucene都发生了很多变化。不过有种疏途同归的感觉,那就是都向分布式/云和监控靠了。2年前接触了solrcloud,那时大概玩了一周。那时很想玩cloud,但发现solrcloud并不是具有那种cloud。于是放弃了。现在发现solr4.0貌似集成了以前的solrcloud,通过zookeeper去管理集群。同时监控和运维管理方面也更加方便了。但具体没有多看,迫于业务的压力,也是火急火燎的赶紧给搭了个solr,以后再慢慢深入。
以前虽然lucene,solr什么玩的很熟(源码层面).但两年没接触还真有点情同陌路。有时会想放弃一个自己熟悉的东西,去做新的东西,会很可惜。比如solr,lucene.
或许那时自己一直坚持下来,可能已经会有了自己的开源框架。爬虫也是,Heritrix坚持下来,或许分布式的,any ajax都可以抓取的框架已经猥琐出世。但这个世界没有什么
如果,只是从心底(所谓的follow heart),以及从身外(所谓的money)来说,我觉得当初的放弃,应该是暂时的放弃还是值得的。因为给了我不一样的视野。尤其全文检索等,拼到后面,拼的还是大数据,实时,数据挖掘。这也是当初我毅然决定做hadoop的原因。废话了一大把,进入主题吧。
1.依赖:
JDK1.6,Tomcat 5.5,Solr 4.0.0,IKAnalyzer 2012FF
Tomcat虽然不是必须,但觉得上生产环境的话,还是得用Tomcat,便于统一管理和监控.
Tomcat等你也可以用其他版本
#Tomcat:
wget http://archive.apache.org/dist/tomcat/tomcat-5/v5.5.35/bin/apache-tomcat-5.5.35.tar.gz
#Solr
wget Solr: http://mirrors.tuna.tsinghua.edu.cn/apache/lucene/solr/4.0.0/apache-solr-4.0.0.tgz
#IKAnalyzer
wget http://ik-analyzer.googlecode.com/files/IK%20Analyzer%202012FF_hf1.zip
3.安装步骤:
1)JDK安装
JDK安装省略,你只要安装完成在环境中设置JAVA_HOME即可,比如我这边是JAVA_HOME=/usr/java/default
2) TOMCAT安装
TOMCAT安装省略,你只要安装完车功能在环境中设置CATALINA_HOME即可,比如我这边是CATALINA_HOME=/opt/tomcat/current
3) 安装solr
a.安装solr webapp
解压solr后得到apache-solr-4.0.0,进入apache-solr-4.0.0/dist/,可以看到apache-solr-4.0.0.war.该文件其实是个zip文件,用命令
unzip apache-solr-4.0.0.war将其解压,获得apache-solr-4.0.0,将其重命名为solr,放到tomcat目录下的webapps目录下,比如我这边是
/opt/tomcat/current/webapps/
b.安装中文分词IKanalyzer
解压IK Analyzer 2012FF_hf1.zip,获得IK Analyzer 2012FF_hf1.将该目录下的IKAnalyzer.cfg.xml,IKAnalyzer2012FF_u1.jar,stopword.dic
放到之前安装TOMCAT_HOME/webapps/solr/WEB-INF/lib/目录下,比如我这里是/opt/tomcat/current/webapps/solr/WEB-INF/lib/
4) 安装solr-work,也就是solr配置和索引目录
a.告知solr它的工作目录在哪里
一般有两种方式,设置环境变量以及jndi。但我建议采用jndi,还是那个原因,便于维护.
在$TOMCAT_HOME/conf/Catalina/localhost里新建solr.xml文件,内容如下:
<Context docBase="/usr/local/tomcat/webapps/solr.war" debug="0" crossContext="true" >
<Environment name="solr/home" type="java.lang.String" value="/opt/solr/work/solr" override="true" />
</Context>
其中里面的/opt/solr/work/solr就是所谓的solr工作目录.solr配置,以及索引都将存放到该目录.
b.配置solr
简单的话将刚解压后的apache-solr-4.0.0/example/solr下的所有文件复制到/opt/solr/work/solr目录下
c.设置IKAnalyzer中文分词
修改/opt/solr/work/solr/collection1/conf/中的schema.xml,在<type></types>中增加如下内容:
++
<fieldType name="text_ik" class="solr.TextField">
<analyzer type="index" isMaxWordLength="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
<analyzer type="query" isMaxWordLength="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>
其中查询采用IK自己的最大分词法,索引则采用它的细粒度分词法.所以各自配置了isMaxWordLength属性.
4.启动/停止solr
只要启动/停止Tomcat即可
Solr4.0+IKAnalyzer中文分词安装(转)的更多相关文章
- Solr4.0+IKAnalyzer中文分词安装
1.依赖: JDK1.6,Tomcat 5.5,Solr 4.0.0,IKAnalyzer 2012FF Tomcat虽然不是必须,但觉得上生产环境的话,还是得用Tomcat,便于统一管理和监控. T ...
- 2.IKAnalyzer 中文分词器配置和使用
一.配置 IKAnalyzer 中文分词器配置,简单,超简单. IKAnalyzer 中文分词器下载,注意版本问题,貌似出现向下不兼容的问题,solr的客户端界面Logging会提示错误. 给出我配置 ...
- solr服务中集成IKAnalyzer中文分词器、集成dataimportHandler插件
昨天已经在Tomcat容器中成功的部署了solr全文检索引擎系统的服务:今天来分享一下solr服务在海量数据的网站中是如何实现数据的检索. 在solr服务中集成IKAnalyzer中文分词器的步骤: ...
- 转:solr6.0配置中文分词器IK Analyzer
solr6.0中进行中文分词器IK Analyzer的配置和solr低版本中最大不同点在于IK Analyzer中jar包的引用.一般的IK分词jar包都是不能用的,因为IK分词中传统的jar不支持s ...
- 我与solr(六)--solr6.0配置中文分词器IK Analyzer
转自:http://blog.csdn.net/linzhiqiang0316/article/details/51554217,表示感谢. 由于前面没有设置分词器,以至于查询的结果出入比较大,并且无 ...
- Lucene学习——IKAnalyzer中文分词
一.环境 1.平台:MyEclipse8.5/JDK1.5 2.开源框架:Lucene3.6.1/IKAnalyzer2012 3.目的:测试IKAnalyzer的分词效果 二.开发调试 1.下载框架 ...
- Java实现敏感词过滤 - IKAnalyzer中文分词工具
IKAnalyzer 是一个开源的,基于java语言开发的轻量级的中文分词工具包. 官网: https://code.google.com/archive/p/ik-analyzer/ 本用例借助 I ...
- Solr的学习使用之(三)IKAnalyzer中文分词器的配置
1.为什么要配置? 1.我们知道要使用Solr进行搜索,肯定要对词语进行分词,但是由于Solr的analysis包并没有带支持中文的包或者对中文的分词效果不好,需要自己添加中文分词器:目前呼声较高的是 ...
- Sphinx中文分词安装配置及API调用
这几天项目中需要重新做一个关于商品的全文搜索功能,于是想到了用Sphinx,因为需要中文分词,所以选择了Sphinx for chinese,当然你也可以选择coreseek,建议这两个中选择一个,暂 ...
随机推荐
- ApiPost自动化测试基础之:接口参数依赖的情景处理
在<ApiPost环境变量之第1课>里,我们介绍了什么是ApiPost环境变量,并如何定义.使用它. 环境变量.接口参数依赖的处理是ApiPost自动化测试的基础.本文主要讲解接口参数依赖 ...
- [代码审计]covercms 后台getshell
0x00 环境介绍 CMS名称: covercms 运行环境: php 5.6.27-nts + apache + mysql 系统版本: 1.16 漏洞等级:高危 漏洞简介: 后台awnotas.i ...
- 使用Runnable接口创建线程
实现Runnable接口的类必须使用Thread类的实例才能创建线程.通过Runnable接口创建线程分为两步: 1.将实现Runnable接口的类实例化. 2.建立一个Thread对象,并将第一步实 ...
- Linux学习路线+资源
Linux学习路线,个人收集分享 学习路线图 资源链接(蓝色下划线字体对应相应资源链接) Linux 基础 Linux 基础 Linux安装专题教程 Linux中文环境 Linux—从菜鸟到高手 鸟哥 ...
- 【BZOJ 3027】 3027: [Ceoi2004]Sweet (容斥原理+组合计数)
3027: [Ceoi2004]Sweet Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 71 Solved: 34 Description John ...
- BZOJ.2660.[BJOI2012]最多的方案(DP)
题目链接 首先我们知道: 也很好理解.如果相邻两项出现在斐波那契表示法中,那它们显然可以合并. 所以我们能得到\(n\)的斐波那契表示,记\(pos[i]\)为\(n\)的斐波那契表示法中,第\(i\ ...
- Linux——线程
线程 我们都知道一个程序的执行是由进程来完成的,而进程里真正执行代码却是由线程来完成,它是真正的执行流.通常将一个程序⾥里一个执行路线就叫做线程(thread).对它更准确的定义是:线程是“一个进程内 ...
- 设置Azure WebSite黑白名单
Azure WebSite服务默认是不提供黑白名单,也就是说任何Internet用户都可以访问Azure WebSite,那么我们如何来给我们的网站设置黑白名单? 这里有一种方式,可以通过配置网站的配 ...
- LINUX 内核守护进程
http://alfred-sun.github.io/blog/2015/06/18/daemon-implementation/
- 统计代码执行时间,使用Stopwatch和UserProcessorTime的区别
当我们需要统计一段代码的执行时间,首先想到的可能是Stopwatch类.在这里,先暂不使用Stopwatch,自定义一个统计代码执行时间的类,大致需要考虑到: 1.确保统计的是当前进程.当前线程中代码 ...