一、依赖包

1、  JDK 1.6以上

2、  solr-4.3.0.tgz

3、  Tomcat或者jetty(注意,solr包中本身就含有jetty的启动相关内容):apache-tomcat-7.0.39.tar.gz

我用的是tomcat,因此以tomcat作为部署内容。

二、安装

1、  解压tomcat包

2、  可选:修改tomcat的启动端口,缺省为8080,最主要设置页面的URIencoding为UTF-8

3、  可选:启动tomcat,并访问,如果没有错误,表示此内容已经OK

4、  解压solr包

5、  dist/solr-4.3.0.war包拷贝到tomcat/webapps下。修改名字为solr

6、  重新启动一下tomcat,这时会将war解开成一个目录

7、  注意,启动时,solr的应用除了自己的lib包之外,还依赖slf4j等相关包,我偷了个懒,将dist/*.jar, dist/solrj-lib/*.jar都拷贝到了tomcat/webapps/solr/WEB-INF/lib/下。

8、  在tomcat/conf/Catalina/localhost目录下,增加solr.xml——对应到solr应用,其文件内容为:

<?xml version="1.0" encoding="UTF-8" ?>

<Context docBase="${TOMCAT_HOME}/webapps/solr.war" debug="0" crossContext="true">

<Environment name="solr/home" type="java.lang.String" value="${TOMCAT_HOME}/solr" override="true"/>

</Context>

此内容主要是为了配置solr/home变量

9、  将solr解开的包中对应的example/solr目录(含内容)全部拷贝到${TOMCAT_HOME}也即tomcat解开的目录下(这个用户可以自行定义,因为其中包含了所有的索引数据,所以务必要搞一个存储空间大一些的目录

10、              重新启动tomcat,这时访问http://localhost:8080/solr会发现出了一个管理界面。注意,solr 4.3版本比较高,所以务必用比较新的浏览器来访问这个管理界面。

三、部署

上述只是简单安装上了,但是可以增加文档(注意不是上传文档)了,利用solr/update的服务。为了能够支持PDF、word等rich document的识别,要配置solr/update/extract服务以及对中文的识别。

1、  支持tika配置

A、        修改solr/home目录下的collection1/conf/solrconfig.xml文件,找寻“TikaLanguageIdentifierUpdateProcessorFactory”对应的配置块,将其打开,缺省是关闭的。

B、        将Extract和Tika对应的jar包拷贝到solr能认识的地方。也可以修改上述“A”对应的文件的lib的配置,其主要格式如下:

<lib dir="../../../contrib/extraction/lib" regex=".*\.jar" />

我偷了个懒,将solr包解压后的contrib/extraction/lib目录下的所有jar包放入了solr应用的lib目录下——也即tomcat/webapps/solr/WEB-INF/lib下。

2、  配置中文的分词

不知道缺省的中文分词效果,不过目前我使用的是缺省的,要配置一下。其主要配置文件为:

Solr/home目录下的collection1/conf/schema.xml,增加一个fieldType,如下:

<!-- Chinese

-->

<fieldType name="text_cn" class="solr.TextField" positionIncrementGap="100">

<analyzer>

<tokenizer class="solr.StandardTokenizerFactory"/>

<filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_zh.txt" enablePositionIncrements="true"/>

<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseC

hange="1"/>

</analyzer>

</fieldType>

也有一个google的开源项目IKAnalyzer支持中文分词,但是我没有配置成功,估计需要重新修改代码。等有功夫的时候再弄。

3、  配置我们自己应用需要的field的meta描述信息,这个要按照需要,因为确实提供的meta描述(如文档的id我们可能不叫id,而叫doc_id),这个都不行的。

4、  重新启动tomcat

Solr版本安装部署指南的更多相关文章

  1. 【Solr】Solr的安装部署

    目录 Solr安装部署 Solr Web界面分析 回到顶部 solr安装和部署 solr下载 http://lucene.apache.org/ 安装solr,就是去部署它的war包,war包所在的位 ...

  2. 最新版大数据平台安装部署指南,HDP-2.6.5.0,ambari-2.6.2.0

    一.服务器环境配置 1 系统要求 名称 地址 操作系统 root密码 Master1 10.1.0.30 Centos 7.7 Root@bidsum1 Master2 10.1.0.105 Cent ...

  3. OEMCC 13.2 集群版本安装部署

    之前测试部署过OEMCC 13.2单机,具体可参考之前随笔: OEMCC 13.2 安装部署 当时环境:两台主机,系统RHEL 6.5,分别部署OMS和OMR: OMS,也就是OEMCC的服务端 IP ...

  4. ELK7.11.2版本安装部署及ElastAlert告警相关配置

    文档开篇,我还是要说一遍,虽然我在文档内容中也会说好多遍,但是希望大家不要嫌我墨迹: 请多看官方文档,请多看命令行报错信息,请多看日志信息,很多时候它们比百度.比必应.比谷歌有用: 请不要嫌麻烦,打开 ...

  5. SIA-GateWay之API网关安装部署指南

    SIA-GATEWAY是基于SpringCloud微服务生态体系下开发的一个分布式微服务网关系统.具备简单易用.可视化.高可扩展.高可用性等特征,提供云原生.完整及成熟的接入服务解决方案.本文介绍AP ...

  6. SkyWorking基础:6.2版本安装部署

    就在今天,SkyWorking发布了6.2版本. 概述 什么是SkyWorking SkyWalking是观察性分析平台和应用性能管理系统. 提供分布式追踪.服务网格遥测分析.度量聚合和可视化一体化解 ...

  7. ELK+KAFKA安装部署指南

    一.ELK 背景 通常,日志被分散的储存不同的设备上.如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志.这样是不是感觉很繁琐和效率低下.当务之急我们使用集中化的日志管理,例如: ...

  8. ELK6.3版本安装部署

    一.Elasticsearch 安装 1.部署系统以及环境准备 cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) uname - ...

  9. HYAppFrame(WinForm框架源代码)安装部署指南

    HYAppFrame是一款基于Win form的应用程序框架,包括serverWeb Service.主程序框架.组织架构.权限控制.菜单导航.基础数据.系统參数.日志管理.定时任务等. 项目地址:h ...

随机推荐

  1. python数据分析笔记中panda(3)

    1 按照空格将一列的内容分为两列 from pandas import Series; from pandas import DataFrame; from pandas import read_cs ...

  2. 查看python 3中的内置函数列表,以及函数功能描述

    >>> dir(__builtins__)//查看内置函数(BIF)列表 ['ArithmeticError', 'AssertionError', 'AttributeError' ...

  3. SCUT - 114 - 作业之数学篇 - 杜教筛

    https://scut.online/p/114 \(A(n)=\sum\limits_{i=1}^{n} \frac{lcm(i,n)}{gcd(i,n)}\) \(=\sum\limits_{i ...

  4. 模板 - n个数的乘法逆元

    这道题里面不用保存 inva[i] ,而且还卡常.事实证明快读快到飞起, #include<bits/stdc++.h> using namespace std; typedef long ...

  5. [Xcode 实际操作]八、网络与多线程-(1)使用Reachability类库检测网络的连接状态

    目录:[Swift]Xcode实际操作 本文将演示如何使用Reachability网络状态检测库,检测设备的网络连接状态. 需要下载一个开源的类库:[ashleymills/Reachability. ...

  6. PJzhang:最基本的正则表达式实例

    猫宁!!! 参考链接: https://www.cnblogs.com/fozero/p/7868687.html http://tool.oschina.net/regex/# http://too ...

  7. Linux 根据进程ID查看文件路径(转)

    遇到的问题是想要查看进程的启动脚本在哪里,比如自己写的weblogic启动脚本,但忘记放在哪里了,这时候可以用以下方式 1.用ps -ef |grep xxxxx 得到该进程的pid 2.输入ls - ...

  8. jvm 字节码查看

    javap -c -v HelloWorldDemo.class >HelloWorld.txt

  9. nginx 设置websocket支持

    #websocket======相关 proxy_read_timeout 60m; proxy_http_version 1.1; proxy_set_header Upgrade $http_up ...

  10. mongodb数据库分片实现链接

    http://www.lanceyan.com/tech/arch/mongodb_shard1.html