文档章节

2. Solr4的安装配置(最后有solr5安装配置的差异介绍)

戴征淼
 戴征淼
发布于 2017/04/15 10:37
字数 1182
阅读 9
收藏 1

1.Solr的安装配置

  1. Solrhome和SolrCore:
  • Solrhome是一个目录,它是Solr运行的主目录,它包括多个SolrCore目录。SolrCore目录就是Solr实例运行的配置文件和数据文件

  • Solrhome中可以包括多个SolrCore,每个SolrCore互相独立,而且可以单独对外提供搜索和索引服务(Solrhome类似于服务器安装的数据库Mysql,一个mysql数据软件中可以创建多个数据库(solrCore),这多个数据库实例相互独立,可以独立对外提供服务)

  1. Solr目录结构
  • 下载完成后,解压后得到Solr的目录,大致如下:

---根目录
    |---bin         //Solr的脚本
    |---contrib     //Solr为了增加自身功能,所添加的扩展依赖包
    |---==dist==        //Solr build过程时产生的war包和jar包,还有它它的一些依赖包
    |---docs        //文档
    |---licenses    //
    |---example     //例子程序目录
        |---solr        //配置了Solr运行时的信息,它是一个标准的Solrhome目录
            |---bin
            |---collection1     //这是一个SolrCore
                |---conf                //该SolrCore的运行配置信息
                |---data                //该目录主要存储了索引文件,刚刚下下来是没有是没有的,需要创建
            |---solr.xml        //....
            |---...
        |---multicore   //可以配置多个SolrCore目录
        |---webapps     //例子程序目录
            |---solr.war
        |---...
    |---...

  1. 创建SolrCore
  • 创建SolrCore需要先创建SolrHome:拷贝${solr_home}/example/solr到指定目录,为避免重名,可以将拷贝后的目录改名(例如SolrHOme),拷贝后的SolrHome默认就有一个SolrCore(名字就是collections)

2.Solr部署到Tomcat中

  • solr需要运行在一个Servlet容器中,它默认通过了一个servlet容器(jetty),实际项目中大多使用tomcat

下面${solr_install}目录表示solr的安装目录,不是solrhome的目录

  1. 把solr的war部署到tomcat中:直接将${solr_install}/example/webapps/solr.war拷贝到tomcat的webapps目录

  2. 将solr.war解压

  3. 添加需要的扩展包(主要是日志包):将${solr_install}/example/lib/ext下的几个jar包拷贝到${tomcathome}/webapps/solr/WEB-INF/lib目录下,${tomcathome}/webapps/solr即是solr.war解压后的目录,

  4. 添加log4j的配置文件:第三部添加的日志jar包使用的log4j日志,需要添加log4j.properties文件,我们将${solr_install}/example/resources目录下的log4j.properties文件拷贝到{tomcathome}/webapps/solr/WEB-INF/classes目录,classes是javaweb项目存放字节码文件的目录,没有该文件的话,手动创建即可

  5. 修改web.xml文件并制定solrhome的目录: 修改{tomcathome}/webapps/solr/WEB-INF/web.xml文件中的env-entry属性,并指定env-entry-value的值为我们刚才拷贝出来的solrhome的路径:E:\KSoft\Solr_Resp\SolrHome

 <env-entry>
   <env-entry-name>solr/home</env-entry-name>
   <env-entry-value>E:\KSoft\Solr_Resp\SolrHome</env-entry-value><!-- 指定solrhome的位置 -->
   <env-entry-type>java.lang.String</env-entry-type>
</env-entry>
  1. 启动tomcat并进行访问: http://127.0.0.1:8080/solr , 看到如下页面就表示ok了

image


3. 界面功能介绍

  1. Analysis:分词

image

  1. Document:通过该界面操作,可以对索引库进行添加、删除、修改索引操作

image

  1. Query:查询

image


4. 多SolrCore配置

  • 一个Solr工程可以配置多个SolrCore实例

配置多个solrCore实例的优点:

  1. 一个Solr工程配置多个SolrCore,而且每个SolrCore之间是相互独立的,可以单独对外提供搜索和索引服务。这类似于数据库,一个数据库可以有多个数据库实例,如果有新的需求,可以直接扩展实例
  2. 多SolrCore在管理索引文件时,可以进行分类管理(比如对商品、订单进行拆分)
  3. 使用SolrCloud(solr集群)必须要建立多SolrCore
  • 复制solrhome下的collection1到本目录下,并且更改名称(比如collection2),然后修改collection2目录下core.properties,将name改成collection2即可,重启solr服务

  • 由于collection2是从collection1复制过来,collection1中有内容,此时collection2的内容不为空


5. solr5安装配置

  1. Solr5之后不再提供solr.war,但是提供了在server\solr-webapp目录下还是提供webapp这个发布后的项目文件夹

  2. 位于server/solr目录对应的是solr4的solrhome目录,不过solr5没有再提供collection,需要我们创建一个core(也非常简单,新建一个目录,将configsets\sample-techproducts-configs目录下的conf拷贝到新建的目录下,可以手动添加core.properties这个文件,也可以在控制台添加这个core,名称就是新建目录的名称,完成创建后会自动创建这个core.properties)

  3. 关于schema.xml文件:solr5不再默认使用schema.xml而是managed-schema,可以很简单的改成schema.xml文件,复制managed-schema重命名为schema.xml(没错,就是直接复制~~~),然后打开Core/conf下的solrconfig.xml文件

<!-- 
//这个注释掉,
 <schemaFactory class="ManagedIndexSchemaFactory">
    <bool name="mutable">true</bool>
    <str name="managedSchemaResourceName">managed-schema</str>
  </schemaFactory>
 -->
 
 <schemaFactory class="ClassicIndexSchemaFactory" /><!-- 添加这个 -->

© 著作权归作者所有

上一篇: 3. Solr的基本使用
下一篇: 1. solr概述
戴征淼
粉丝 0
博文 6
码字总数 7228
作品 0
深圳
程序员
私信 提问
solr5.2.1+tomcat8.0.23+zookeeper3.4.6

提示: 1.本文中用到的solr,tomcat,zk都是相对于此博客最新的版本,solr的每个大版本的变更都无法完美的向前兼容,所以这次的solr5和solr4也是一样。 2.本次是在一台机器上部署3个zk,4个t...

chaney
2015/07/30
0
0
安装nutch2+Hbase+Slor4

介绍 Nutch 网络爬虫 Hbase 分布式存储系统 Solr搜索服务器 版本说明 由于NutchHbaseSolr他们都各自做在自己的版本修改,所以配置他们三者有不同的方法.这里也是参考网络文档做了他们最新版本...

tngou
2013/08/15
0
2
创建solr7.3.0集群_测试集群_添加中文分词器_导入数据

solr是apache下的一个用于做搜索引擎的高级项目,使用它可以满足绝大部分应用的搜索需求。 主机环境: Linux:centos6.5 JDK:1.8 solr:7.3.0 zookeeper:3.4.8 mmseg4j-solr:2.4.0 1. 创建与启...

特拉仔
2018/04/25
0
0
tomcat下搭建SolrCloud

solr版本:4.5.1 当前我使用三台服务器搭建集群分别是192.168.0.18、192.168.0.19、192.168.0.20,其中18为主服务器,19、20为从服务器,并且在20服务器安装zookeeper 一、在tomcat7中部署s...

zmf
2014/11/03
0
0
Solr5安装配置

Solr安装配置 一、Oracle VM VirtualBox配置 1、 网络 2、 修改网络ip cd /etc/sysconfig/network-scripts/ vim ifcfg-enp0s3 TYPE=Ethernet BOOTPROTO=static DEFROUTE=yes PEERDNS=yes PE......

古三哥
2016/08/19
30
0

没有更多内容

加载失败,请刷新页面

加载更多

AOP的学习(1)

AOP 理解AOP编程思想(面向方法、面向切面) spring AOP的概念 方面 -- 功能 目标 -- 原有方法 通知 -- 对原有方法增强的方法 连接点 -- 可以用来连接通知的地方(方法) 切入点 -- 将用来插入...

太猪-YJ
33分钟前
2
0
一张图看懂亮度、明度、光度、光亮度、明亮度

亮度、明度、光亮度,Luminance和Brightness、lightness其实都是一个意思,只是起名字太难了。 提出一个颜色模型后,由于明度的取值与别人的不同,为了表示区别所以就另想一个词而已。 因此在...

linsk1998
昨天
5
0
Python应用:python链表示例

前言 python链表应用源码示例,需要用到python os模块方法、函数和类的应用。 首先,先简单的来了解下什么是链表?链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是...

python小白1
昨天
3
0
Source Insight加载源码

Source Insight是一个图形化的源代码查看工具(当然也可以作为编译工具)。如果一个项目的源代码较多,此工具可以很方便地查找到源代码自建的依赖关系。 1.创建工程 下图为Snort源代码的文件...

天王盖地虎626
昨天
3
0
nginx-rtmp-module的缺陷分析(二)

nginx-rtmp-module使用指令push和pull来relay媒体流数据,以便分布式部署服务。 当nginx-rtmp-module作为边缘服务器(一般不会向边缘服务器推流)时,使用pull从源服务器获取媒体流数据,俗称...

YoungSagit
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部