1 Solr概述

1.1 Solr是什么

Solr是Apache软件基金组织旗下的一个顶级开源项目, 是基于Lucene的全文搜索服务, 是一个独立的企业级搜索应用服务器, 可以独立运行于Jetty, Tomcat等Web容器中.

使用Solr可以很方便地实现全文索引和搜索功能, 比如:

(1) 创建索引

客户端可以通过HTTP的post方法向Solr服务器发送一个描述Field及其内容的XML文档(或JSON格式的串), Solr服务器根据XML文档添加、更新、删除索引;

(2) 搜索索引

客户端可通过HTTP的get方法向Solr服务器发送请求, 对Solr服务器返回的XML、JSON格式的结果进行解析.

Solr不提供构建页面UI的功能, 它提供了一个管理页面, 通过管理页面可以查询Solr的配置和运行情况.

1.2 Solr与Lucene的区别

Lucene是一个开放源代码的全文检索引擎工具包, 提供了完整的索引引擎和查询引擎功能, 目的是为开发人员提供一个简单易用的工具包, 以方便在目标系统中实现全文检索的功能, 或以Lucene为基础构建全文检索应用. 它不是一个完整的服务, 不能独立运行.

Solr的目标是打造一款企业级的搜索引擎系统. 它是基于Lucene构建的全文检索服务, 是一个完整的服务, 可独立运行于Web容器中.

通过Solr可以快速构建企业级的搜索引擎, 也可高效地完成站内搜索功能.

2 Solr文件说明

2.1 Solr的目录结构

(1) 下载Solr安装包:

下载地址: http://archive.apache.org/dist/lucene/solr

说明: Solr与Lucene在3.x版本后开始同步更新, 这里使用4.10.4版本(从Solr 5.x开始要求JDK必须是1.8及以上).

(2) Solr安装包目录说明:

| bin: Solr的运行脚本
| contrib: Solr的扩展jar包, 用于增强Solr功能
| dist: build过程中生成的war和jar文件, 以及其他依赖文件
| docs: Solr的API文档
| example: Solr工程的示例目录
​ --- | solr: 标准的SolrHome, 包含一个默认的SolrCore(即collection1)
​ --- | multicore: 包含了在Solr的multicore中设置的多个Core目录
​ --- | webapps: 包含了一个solr.war, 该war包可作为Solr的运行示例工程(这里部署的Solr服务就使用它)
| licenes: Solr相关的许可信息

2.2 其他常用概念说明

SolrHome目录是Solr服务运行的主目录:

一个SolrHome目录可包含多个SolrCore.

SolrCore目录中包含了运行Solr实例的配置文件和数据文件(日志和索引文件).

每一个SolrCore提供独立的索引和搜索服务.

2.3 创建基础文件目录

(1) 建立work目录(作为SolrHome根目录);

(2) 将Solr解压目录中的solr目录, 拷贝至work目录下;

此时SolrHome(即solr, 为方便可改名为solrhome)和SolrCore(即collection1)的目录结构如下:

说明:

conf: SolrCore运行的配置信息;

data: SolrCore存放日志和索引文件的目录;

core.properties: SolrCore的信息, 如名称等, 在Solr运行时创建.

2.4 solrconfig.xml文件说明

说明: solrconfig.xml文件位于SolrCore的conf目录下, 通过solrconfig.xml可以配置SolrCore实例的相关信息, 可不作修改.

企业项目开发中需要修改三个常用的标签: lib标签、datadir标签、requestHandler标签.

详细说明请参见: Solr 02 - 最详细的solrconfig.xml配置文件解读

2.5 schema.xml文件说明

说明: schema.xml文件在SolrCore的conf目录(即collection1/conf)下, 主要用于配置Solr的域(Field)以及域的类型(FieldType).

在Solr中, 域要先配置再使用.

详细说明请参见: Solr 03 - Solr的模式设计与优化 - 最详细的schema.xml模式文件解读

版权声明

作者: 马瘦风

出处: 博客园 马瘦风的博客

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

本文版权归博主所有, 欢迎转载, 但请保留此段声明, 并在文章页面明显位置给出原文链接, 否则博主保留追究相关人员法律责任的权利.

Solr 01 - 什么是Solr + Solr安装包目录结构说明的更多相关文章

  1. Node.js-npm安装包目录修改

    请借我一个哭的表情....=.= 等我发现的时候为时已晚~所有安装的包都去了C盘,而强迫症的我想卸载了之前所有的包再重新下一遍!!! 切记!安装好npm后,记得修改: 原始路径: 修改后的路径(如果没 ...

  2. hadoop 2.x 安装包目录结构分析

    bin:Hadoop最基本的管理脚本和使用脚本所在目录,这些脚本是sbin目录下管理脚本的基础实现,用户可以直接使用这些脚本管理和使用hadoop etc:Hadoop配置文件所在目录,包括core- ...

  3. 基于InstallShield2013LimitedEdition的安装包制作

    在VS2012之前,我们做安装包一般都是使用VS自带的安装包制作工具来创建安装包的,VS2012.VS2013以后,微软把这个去掉,集成使用了InstallShield进行安装包的制作了,虽然思路差不 ...

  4. 基于DevExpress的Winform程序安装包的制作

    在我们做系统开发的时候,都会面临一个安装包制作的问题,如何把我们做好的系统,通过安装包工具整合成一个安装包给客户进行安装.安装包的优势就是一步步安装就可以了,不用复制一大堆文件给客户,还怕缺少那个文件 ...

  5. 制作Linux下程序安装包——使用脚本打包bin、run等安装包

    制作简单的安装包的时候可以简单的用cat命令连接两个文件,然后头部是脚本文件,执行的时候把下面的文件分解出来就行了.一般这个后部分的文件是个压缩 包,那样,就能够打包很多文件了,在脚本中解压出来即可. ...

  6. (实例篇)LNMP 1.4一键安装包,安装教程

    http://mp.weixin.qq.com/s/l6ijKBwD6tt8jkZytWEIsw https://lnmp.org/download.html 2017-09-11 学习与分享 PHP ...

  7. DevExpress控件库 开发使用经验总结3 制作项目安装包

    2015-01-27 使用DevExpress控件包开发C/S项目完成后,部署前需要制作本地安装包.本文还是使用“SetupFactory”安装工厂来制作安装包.在以前的系列文章中详细介绍过该工具的使 ...

  8. mysql-5.7.17-winx64压缩版的安装包下载和安装配置

    网上有很多的安装配置步骤,但是一个跟一个遇到的问题不一样,总之越是写的完整的人,遇到的错误越多,在安装过程中也就越悲催!第一步:下载mysql安装包---下载网址https://downloads.m ...

  9. 04 Apache Solr: 目录结构

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

随机推荐

  1. 通过zabbix的API接口获取服务器列表

    Zabbix API说明 1) 基于Web的API,作为Web前端的一部分提供,使用JSON-RPC 2.0协议 2) 身份认证Token:在访问Zabbix中的任何数据之前,需要登录并获取身份验证令 ...

  2. 提高在word编辑公式的效率,及快捷键、对齐、编号问题

    1.     Word中编辑公式简介(重点看) https://jacobz.top/2017-08/WordMath/ 2.     快捷键 https://wenku.baidu.com/view ...

  3. JIRA

    https://www.jianshu.com/p/8c14b52ce692 JIRA这个工具接触有好几年了,在多个海外项目上都用过这个工具.去年又在项目上深度使用后就有点爱不释手了,回国后也在找机会 ...

  4. 京东B2B业务架构演变

    京东 B2B 业务的定位是让各类型的企业都可以在京东的 B 平台上进行采购.建立采购关系. 京东 B2B 的用户群体主要分为 2 类,一类是大 B 用户.另一类是小 B 用户.比如联通.移动公司跟京东 ...

  5. D3---01基础的柱状图制作(转)

    ---文章转自 http://d3.decembercafe.org/index.html  ,Created by 十二月咖啡馆. 一个完整的柱形图包含三部分:矩形.文字.坐标轴. 首先要布置一个大 ...

  6. 车道线识别之 tusimple 数据集介绍

    Tusimple 是一家做自动驾驶的公司,他也公布了一些其在自动驾驶领域积累的数据,其中有一些是和车道线检测相关的.2018年6 月份,其举办了一次以摄像头图像数据做车道检测的比赛,公开了一部分数据及 ...

  7. centos7部署openstack-ocata

    1.前言 本文旨在记录本人的一个实验过程,因为其中有一些坑,方便以后回顾查询. 其中限于篇幅(大部分是配置部分)有些内容省略掉了,官网都有,各位如果是安装部署的话可以参考官网,不建议使用本文. 以下是 ...

  8. 动态规划——Palindrome Partitioning II

    Palindrome Partitioning II 这个题意思挺好理解,提供一个字符串s,将s分割成多个子串,这些字串都是回文,要求输出分割的最小次数. Example:Input: "a ...

  9. Big big world

    Big big world I'm a big big girl 我是个大女孩 in a big big world 在这个大大的世界上 It's not a big big thing if you ...

  10. Makefile自学

    MakeFile的规则 如果这个工程没有编译过,那么我们的所有C文件都要编译并被链接. 如果这个工程的某几个C文件被修改,那么我们只编译被修改的C文件,并链接目标程序. 如果这个工程的头文件被改变了, ...