通过前面的介绍,我们已经能够看到管理员界面并对Solr形成了一个感性的认识。本篇将在物理上深入了解Solr的安装目录结构和Solr示例的主目录结构。
 

安装目录结构

  Solr 6.3.0安装文件夹里面包含很多内容。这里挑选一些重要的目录进行说明。目录结构如下:

  • bin:大量的Solr控制台管理工具存在该目录下。例如前面提到的solr\solr.cmd\post等。

    • contrib:该文件包含大量关于Solr的扩展。分别如下:
    • analysis-extras:该目录下面包含一些相互依赖的文本分析组件。
    • clustering:该目录下有一个用于集群检索结果的引擎。
    • dataimporthandler:DIH是Solr中一个重要的组件,该组件可以从数据库或者其他数据源导入数据到Solr中。
    • dataimporthandler-extras:这里面包含了对DIH的扩展。
    • extraction:集成Apache Tika,用于从普通格式文件中提取文本。
    • langid:该组件使得Solr拥有在建索引之前识别和检测文档语言的能力。
    • map-reduce:提供一些和Hadoop Map-Reduce协同工作的工具。
    • morphlines-cell:为Solr Cell类型的功能提供Kite Morphlines的特性。
    • morphlines-core:为Solr提供Kite Morphlines的特性。
    • uima:该目录包含用于集成Apache UIMA的库。
    • velocity:包含一个基于Velocity模板语言简单检索UI框架。
  • dist:在这里能找到Solr的核心JAR包和扩展JAR包。当我们试图把Solr嵌入到某个应用程序的时候会用到核心JAR包。
    • solrj-lib:包含构建基于Solr的客户端时会用到的JAR包。
    • test-framework:包含测试Solr时候会用到的JAR包。
  • docs:该文件夹里面存放的是Solr文档,离线的静态HTML文件,还有API的描述。但是个人觉得不是太有用,使用Solr Reference Guide更好。
  • example:包含Solr的简单示例。在其中的exampledocs子文件夹下存放着前面提到过的用于在Windows环境下发送文档到Solr的工具post.jar程序。
  • licenses:各种许可和协议。
  • server:在本地把Solr作为服务运行的必要文件都存放在这里。
    • contexts:启动Solr的Jetty网页的上下文配置。
    • etc:Jetty服务器配置文件,在这里可以把默认的8983端口改成其他的。
    • lib:Jetty服务器程序对应的可执行JAR包和响应的依赖包。
    • logs:默认情况下,日志将被输出到这个文件夹。
    • modules:http\https\server\ssl等配置模块。
    • resources:存放着Log4j的配置文件。这里可以改变输出日志的级别和位置等设置。
    • scripts:Solr运行的必要脚本。
    • solr:运行Solr的配置文件都保存在这里。solr.xml文件,提供全方位的配置;zoo.cfg文件,使用SolrCloud的时候有用。子文件夹/configsets存放着Solr的示例配置文件。
    • solr-webapp:前面已经提到过的管理界面的站点就存放在这里。
    • tmp:存放临时文件。

主目录结构

     前面提到过,如果启动的Solr实例不是示例中的一个,那么我们需要创建Core,这样才能顺利的完成索引的创建和查询过程。每创建一个Core,都会产生一个对应的文件夹,这个文件夹就是这里要提到的主目录,也是将来使用Solr的过程中会经常操作到的一类目录。需要说明的是,在“独立模式”和“云模式”下,主目录的结构是有些许差异的。
     独立模式下:
 <solr-home-directory>/
solr.xml
core_name1/
core.properties
conf/
solrconfig.xml
managed-schema
data/
core_name2/
core.properties
conf/
solrconfig.xml
managed-schema
data/

云模式下:

 <solr-home-directory>/
solr.xml
core_name1/
core.properties
data/
core_name2/
core.properties
data/
其中,有些文件是非常重要的:
  • solr.xml 为Solr服务器实例指定配置选项。具体如何配置,后面会专门讲解。
  • 在每一个Core里面:
    • core.properties为每一个Core指定了诸如名称,所属集合,schema的位置等等属性。
    • conf/solrconfig.xml控制高级行为。比如,你可以在该文件中指定数据目录的替代位置。
    • conf/managed-schema存放文档的描述。第三篇的创建Core小节提到过的数据驱动的Schema,就是在这里得到展现的,根据添加的不同的带索引文件,managed-schema文件的内容会依据推导出的类型动态的调整。Schema定义一个字段集合的文档。在这里既定义字段类型,又定义字段本身。字段类型定义非常的强大甚至还包含了Solr是如何处理进入字段的值和查询值得描述的。
    • data/该目录包含基础的索引文件。

04 Apache Solr: 目录结构的更多相关文章

  1. Apache禁止显示目录结构

    打开文件:httpd-vhosts.conf: 禁止显示Apache目录列表-Indexes FollowSymLinks如何修改目录的配置以禁止显示 Apache 目录列表.缺省情况下如果你在浏览器 ...

  2. Apache Tomcat目录结构与版本升级

    升级原因: 由于当前操作系统内的tomcat版本过低,存在大量高中危漏洞,存在一定的安全隐患.如下图所示,使用绿盟扫描器进行扫描爆出大量漏洞. 升级思路: 既然决定要升级,那么我觉得首先要做的就是自己 ...

  3. Apache目录结构解释

    源地址:http://blog.51cto.com/marsman/1913676 本文主要讲述apache主要目录结构及主要配置文件 1.apache目录结构 [root@test apache]# ...

  4. 禁止apache显示目录索引的常见方法(apache禁止列目录)

    禁止Apache显示目录索引,禁止Apache显示目录结构列表,禁止Apache浏览目录,这是网上提问比较多的,其实都是一个意思.下面说下禁止禁止Apache显示目录索引的常见的3种方法. 要实现禁止 ...

  5. 禁止apache显示目录索引 apache禁止列目录

    禁止Apache显示目录索引的常见的3种方法. 要实现禁止Apache显示目录索引,只需将Option中的Indexes去掉即可. 禁止Apache显示目录索引,禁止Apache显示目录结构列表,禁止 ...

  6. 禁止Apache显示目录索引的常见方法

    禁止Apache显示目录索引,禁止Apache显示目录结构列表,禁止Apache浏览目录,这是网上提问比较多的,其实都是一个意思.下面说下禁止禁止Apache显示目录索引的常见的3种方法. 要实现禁止 ...

  7. apache去掉目录浏览

    apache去掉目录浏览 apache默认开启目录浏览的,这样大大降低了我们网站的安全,下面是关闭浏览目录: 要禁止 Apache 显示目录结构列表,只需将 Option 中的 Indexes 去掉即 ...

  8. Solr 01 - 什么是Solr + Solr安装包目录结构说明

    目录 1 Solr概述 1.1 Solr是什么 1.2 Solr与Lucene的区别 2 Solr文件说明 2.1 Solr的目录结构 2.2 其他常用概念说明 2.3 创建基础文件目录 2.4 so ...

  9. Apache目录结构(一)

    一.Apache 目录结构 bin: 该目录用于存放apache常用的命令,比如httpd cig-bin:该目录存放linux下的常用命令 .sh conf:存放配置文件httpd.conf,在ht ...

随机推荐

  1. 浅谈oracle10G spfile与pfile(转)

    转自:http://blog.csdn.net/onebigday/article/details/6108348,http://www.linuxidc.com/Linux/2012-11/7371 ...

  2. kettle之mongodb数据同步

    需求: 1.源数据库新增一条记录,目标库同时新增一条记录: 2.源数据库修改一条记录,目标库同时修改该条记录: 示例用到三个Kettle组件 下面详细说下每个组件的配置 Source: 本示例连接的是 ...

  3. 将声音文件加入VC

    概述 VC++是微软公司开发的一个IDE(集成开发环境),换句话说,就是使用c++的一个开发平台.有些软件就是这个编出来的...另外还有VB,VF.只是使用不同语言...但是,VC++是Windows ...

  4. c#查找string数组的某一个值的索引

    string[] array = { "A","B","C","D","H"};   var ind ...

  5. C#如何分割多个空格分隔的字符串?

    using System; using System.Text; using System.Text.RegularExpressions; namespace test { class Progra ...

  6. C++学习基础十一——子类对象向父类对象的转化

    一.C++中可以实现子类向父类的转换,主要分为三种形式: 1.对象转换:不能实现动态绑定,即不能实现多态. 2.引用转换:动态绑定,实现多态. 3.指针转换:动态绑定,实现多态. 注意:一般不会出现父 ...

  7. 自己用C语言写PIC32 serial bootloader

    了解更多关于bootloader 的C语言实现,请加我QQ: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序). 从15年12月份以来我 ...

  8. python切片操作

    序列类型是其元素被顺序放置的一种数据结构类型,这种方式允许通过下标的方式来获得某一个数据元素,或者通过指定下标范围来获得一组序列的元素.这种访问序列的方式叫做切片.字符串也可以使用切片操作.切片操作符 ...

  9. Caffe应用篇----文件格式转换

    网友文章: 我们手中有的一般都是图片数据,jpg.bmp格式等,但caffe常使用的数据是db格式(leveldb/lmdb),因此首先我们要将自己数据转换成caffe可运行的格式文件.别捉鸡,caf ...

  10. NodeJs 连接mysql一例。

    var mysql = require('mysql'); var connection = mysql.createConnection({ host :'127.0.0.1', user :'ro ...