通过前面的介绍,我们已经能够看到管理员界面并对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. 3、NAT

    <计算机网络(第5版)>P173    P182

  2. workplace background

    class:SysSetupFormRun public void run() { super(); this.design().colorScheme(FormColorScheme::RGB); ...

  3. sublime如何关闭响应慢的插件的提示

    Preferences > Settings - User Add the following:  "detect_slow_plugins": false sublime真 ...

  4. Retina屏实现1px边框

    问题描述 通常我们实现边框的方法都是设置1px的边框,但是在retina屏上因为设备像素比的不同,边框在移动设备上的表现也不相同,例如在devicePixelRatio = 2的retina屏下会显示 ...

  5. 如何在IDEA上 添加GIT和maven、mybatis插件

    IDEA工具上,添加GIT和maven.mybatis插件,相对比较简单: 首先下载GIT.maven.mybatis. 先添加GIT插件: 首先在IDEA找到file中找到setting,然后搜索g ...

  6. 【原创】Android内存管理-OnTrimMemory

    Application中有两个与内存管理相关的方法:onLowMemory()和 onTrimMemory(int level),源码如下 @CallSuper public void onLowMe ...

  7. 执行Python "/bin/usr/python: bad interpreter: No such file or directory" 错误

    今天在电脑上写了一个Python脚本,写好之后用ftp传上去,然后执行/var/www/cron.py,结果报错,/bin/usr/python: bad interpreter: No such f ...

  8. MAXIMO-数据库配置属性数据类型解释

    ALN:       字母数字字符,混合大小写,最大长度取决于数据库     Oracle = 4000 个字符     Sql Server = 8000 个字符     DB2 = 32672 个 ...

  9. 移动端touch事件影响click事件以及在touchmove添加preventDefault导致页面无法滚动的解决方法

    这两天自己在写一个手机网页,用到了触屏滑动的特效,就是往右滑动的时候左侧隐藏的菜单从左边划出来. 做完之后在手机原生浏览器中运行正常,但在QQ和微信中打开,发现touchmove只会触发一次,而且to ...

  10. MVC下判断PC和移动端

    MVC下的PC端和移动端,其实没区别,写法都一样,只是有两点才改变了它们 第一点:就是单击这个页面任何地方的时候判断是移动端还是客户端: 第二点:新建手机端区域Areas(简单来说:Areas就相当于 ...