Solr04-Solr单机服务的部署

1 准备安装环境

说明: 在企业项目开发中, 大多使用Tomcat服务器构建Solr服务.

  • 软件环境:

    l OS: macOS Sierra 10.12.6

    | Solr: 4.10.4

    l JDK: 1.8.0_131

    l 服务器: Tomcat 7.0.82

Solr需要运行在Servlet容器中, 且Solr 4.10.4要求JDK版本在1.7及以上.

2 通过内部Jetty服务器启动

Solr本身集成了Jetty服务器, 可直接启动运行:

  • 打开cmd命令/终端窗口, 进入Solr解压目录中的example目录.

    图片

  • 执行启动命令: java -jar start.jar, 片刻后, cmd命令/终端窗口被阻塞, 说明启动成功.

  • 启动成功, 访问: http://127.0.0.1:8983/solr

    图片

3 通过配置Tomcat服务器启动

这里将Tomcat拷贝至SolrHome所在工程(work)的同级目录下:
图片

3.1 删除不需要的应用

删除tomcat/webapps下的所有默认应用, 减少服务器启动时发布的项目, 防止通过Tomcat管理界面攻击Solr服务器.

3.2 修改服务端口

修改conf/server.xml文件(修改的目的是避免端口冲突).

  • 将Server port修改为“7005”:
    图片

  • 将HTTP/1.1的Connector port修改为“7070”:
    图片

  • 将AJP/1.3(服务器内部通信用)的Connector port修改为“7009”:
    图片

3.3 部署solr.war

  • 将example\webapps下的solr.war拷贝至Tomcat的webapps下;

  • 解压solr.war包;

  • 删除solr.war包(为了防止Tomcat启动时再解压, 覆盖已解压并配置好的solr.);

  • 加入Solr服务扩展jar包:

    把Solr解压包下example\lib\ext目录下的所有jar包拷贝到Tomcat部署的Solr的WEB-INF/lib目录下.

  • 准备log4j.properties 日志文件:

    把Solr解压包下example\resources\log4j.properties文件, 复制到Tomcat部署的Solr中的WEB-INF\classes目录下(没有classes目录则创建之).

  • 配置新部署工程的web.xml:

    修改web.xml, 让Tomcat使用JNDI的方式告诉Solr服务器SolrHome位置.

    打开env-entry注释, 修改env-entry-value为solrhome目录位置.

    图片

  • 启动Tomcat服务:

    运行Tomcat安装bin目录中的startup.bat/startup.sh文件;

  • 启动成功后的测试:

    在cmd命令/终端窗口看到Tomcat启动后, 访问http://127.0.0.1:7070/solr.

    图片

  • 附企业级安装方法 虚拟目录安装:

    可以在测试时如上配置, 但如果Solr应用是部署在生产环境上, 业界推荐使用Tomcat的虚拟目录安装:

    a. 将example/webapps目录下的solr.war包复制到Tomcat的webapps下;

    b. 解压solr.war包(同解压zip等文件相同);

    c. 进入tomcat/conf目录, 编辑server.xml文件: 找到Host节点, 添加如下代码:

    <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
      <Context path="/solr" 
               docBase="/usr/SolrCloud/tomcat1/display/solr.war"
               privileged="true"> 
          <Environment name="solr/home" 
                       type="java.lang.String" 
                       value="/usr/SolrCloud/tomcat1/display/solr/home" 
                       override="true"/> 
      </Context> 
      <!-- ... ... -->
    </Host>
    • path: 指定访问该Web应用的名称, 即http://locahost:8080/solr的红色部分;

    • docBase: 指定Web应用的文件路径, 如果是war包, 必须加上后缀;

    • 节点就是设置Solr的用户目录;

    • 注意: Solr4.0后将日志包作了抽取, 没有打包到solr.war中. 这里有两种方式加载这些包:

      ① 将example/lib/ext下的所有包复制到solr的WEB-INF/lib目录下;

      ② 将这些包复制到Tomcat容器中的${tomcat_home}/lib下面(官网推荐).

4 多个SolrCore的配置

4.1 配置多SolrCore的好处

  1. 一个 Solr工程对外通过SorlCore提供服务, 一个SolrCore相当于一个数据库, 这个功能就相当于一个MySQL可以运行多个数据库;
  2. 将索引数据分SolrCore存储,方便对索引数据管理维护;
  3. SolrCloud集群需要使用多Core.

4.2 配置步骤

  1. 复制collection1(修改名称为collection2):
    图片

  2. 修改core.properties文件中的名称(若使用solr的运行目录或UI管理页面创建core, 则无需设置此项):

    name=collection2
  3. 重新启动Tomcat:
    图片

5 Solr管理界面介绍

5.1 Dashboard

仪表盘, 显示Solr实例运行的时间、版本、系统资源、JVM等信息.

5.2 Logging

显示日志信息, 可按照日志级别Level查看日志.

5.3 CoreAdmin

Solr Core的管理界面. 在这里可以添加SolrCore实例(有Bug, 不推荐使用Solr管理界面添加SolrCore).

5.4 Java Properties

Solr在JVM 运行环境中的属性信息, 包括类路径、文件编码、JVM内存设置、Web容器相关设置等等信息.

5.5 Thread Dump

显示Solr Server中当前活跃的线程信息, 同时也可跟踪线程运行栈信息.

5.6 Core selector(重点)

选择一个SolrCore进行详细操作.

5.6.1 Analysis

通过此界面可以测试索引分析器和搜索分析器的执行情况:
图片

5.6.2 Dataimport

可以定义数据导入处理器, 从关系数据库将数据导入到Solr索引库中. 默认没有配置, 需要手工配置 – 可在solrconfig.xml文件中添加配置文件, 并由schema.xml文件指定DataSource以及索引字段等内容, 后面将作详细说明.
图片

5.6.3 Documents

请求处理器中, /update 表示更新索引: Solr默认根据id(唯一约束)域来更新Document的内容:

  • 如果根据id值搜索不到id域, 则执行添加操作;
  • 如果根据id值搜索到了id域, 则执行更新操作.

通过此菜单可以 创建索引、更新索引、删除索引 等操作, 界面如下:
图片

其中: overwrite=”true”: Solr索引时, 如果文档已经存在, 就用XML中的文档进行替换.

commitWithin=”1000”: Solr索引时, 每隔1000(1秒)毫秒, 自动执行一次文档提交.

为了方便测试, 也可在Documents中立即提交 – 后添加.

  • 在/update下删除索引 – 将Document Type更换为XML:

    • 方式一: 指定要删除的所以文档的id:
    <delete>
        <id>change.me</id>
    </delete>
    <commit/>
    • 方式二: 根据查询条件匹配要删除的文档:
    <delete>
        <query>id:change.me</query>
    </delete>
    <commit/>
    
    <!-- 删除全部, 慎用 -->
    <delete>
        <query>:</query>
    </delete>
    <commit/>

5.6.4 File

在这里可以直观地查看collection/conf下的文档及其内容, 使用较多.

5.6.5 Query

请求处理器中, 通过 /select 执行搜索索引, 必须指定“q”查询条件方可搜索.
图片

版权声明

作者: ma_shoufeng(马瘦风)

出处: CSDN 马瘦风的博客

您的支持是对博主的极大鼓励, 感谢您的阅读.

本文版权归博主所有, 欢迎转载, 但未经博主同意必须保留此段声明, 且在文章页面明显位置给出原文链接, 否则博主保留追究法律责任的权利.

猜你喜欢

转载自blog.csdn.net/ma_shou_feng/article/details/81709910