2018年8月份学习使用solr,当时下载的版本是solr7.5,写这篇博文的时候是2019年3月份,solr此时已经出到了8.0版本。一个大版本的变迁肯定有很多的改动,暂时还未研究就不赘述了。

此篇博客只是记述一下当时对solr的使用方面研究。

solr下载地址:http://www.apache.org/dyn/closer.lua/lucene/solr/8.0.0

一、Lucene

在了解solr之前,先了解一下Lucene,Lucene是一个全文检索的工具包,本质上是一个jar包,它无法单独在web容器中运行,但是你可以把它导入到某个项目里进行开发使用。当然现在solr已经帮你整好了,不建议这么用。

Lucene进行全文检索的结构图如下

  1)采集数据

    从不同的源进行数据收集,例如数据库,web端等。

    数据库:其他系统存储在数据库中的数据

    web端:直接从web端录入的数据

  2)创建索引

    数据采集完成后,Lucene会将采集到的所有数据创建索引,并将索引存储在索引库中

  3)用户查询

    用户在web端,输入索引关键词,SearchIndex会根据关键词在索引库中进行索引查找

  4)返回结果

    SearchIndex查找到结果后返回给用户

二、solr

solr是建立在Lucene基础上的一个项目包,它可以在Tomcat等web容器中直接运行,同时提供全文检索服务。

但是,solr7.5是可以直接运行的,不需要再像某个版本(我也不知道哪个版本)之前需要将solr打包发布到Tomcat才能运行使用。

1.solr下载

  solr下载地址:http://www.apache.org/dyn/closer.lua/lucene/solr/

2.solr包功能介绍

下载solr包后解压,包内目录以及各自功能如下:

  • bin:包括一些使用Solr的重要脚本

    solr和solr.cmd:分别用于Linux和Windows系统,根据所选参数不同而控制Solr的启动和停止
    post:提供了一个用于发布内容的命令行接口工具。支持导入JSON,XML和CSV,也可以导入HTML,PDF,Microsoft Office格式(如MS Word),纯文本等等。
    solr.in.sh和solr.in.cmd:分别用于Linux和Windows系统的属性文件
    install_solr_services.sh:用于Linux系统将Solr作为服务安装

  • contrib:包含一些solr的一些插件或扩展

    analysis-extras: 包含一些文本分析组件及其依赖
    clustering:包含一个用于集群搜索结果的引擎
    dataimporthandler:把数据从数据库或其它数据源导入到solr
    extraction:整合了Apache Tika,Tika是用于解析一些富文本(诸如Word,PDF)的框架
      langid:检测将要索引的数据的语言
      map-reduce:包含一些工具用于Solr和Hadoop Map Reduce协同工作
      morphlines-core:包含Kite Morphlines,它用于构建、改变基于Hadoop进行ETL(extract、transfer、load)的流式处理程序
      uima:包含用于整合Apache UIMA(文本元数据提取的框架)类库
      velocity:包含基于Velocity模板的简单的搜索UI框架

  • dist:包含主要的Solr的jar文件
  • docs:文档
  • example:包含一些展示solr功能的例子

   exampledocs:这是一系列简单的CSV,XML和JSON文件,可以bin/post在首次使用Solr时使用
       example-DIH:此目录包含一些DataImport Handler(DIH)示例,可帮助您开始在数据库,电子邮件服务器甚至Atom订阅源中导入结构化内容。每个示例将索引不同的数据集
       files:该files目录为您可能在本地存储的文档(例如Word或PDF)提供基本的搜索UI
       films:该films目录包含一组关于电影的强大数据,包括三种格式:CSV,XML和JSON

  • licenses:包含所有的solr所用到的第三方库的许可证
  • server:solr应用程序的核心,包含了运行Solr实例而安装好的Jetty servlet容器。

   contexts:这个文件包含了solr Web应用程序的Jetty Web应用的部署的配置文件
       etc:主要就是一些Jetty的配置文件和示例SSL密钥库
       lib:Jetty和其他第三方的jar包
       logs:Solr的日志文件
       resources:Jetty-logging和log4j的属性配置文件
       solr:新建的core或Collection的默认保存目录,里面必须要包含solr.xml文件
       configsets:包含solr的配置文件
       solr-webapp:包含solr服务器使用的文件;不要在此目录中编辑文件(solr不是JavaWeb应用程序)

3.solr启动

  打开solr的bin目录,shift+鼠标右键,“在此处打开powershell窗口”

  

  输入.\solr start

  

  成功启动后,在浏览器中访问如下地址:

  http://localhost:8983

  

4.solr具体参数配置

  讲道理,有点多,参照下面这个博客即可。

  https://blog.csdn.net/bskfnvjtlyzmv867/article/details/80940089

solr7.5--win10--部署使用的更多相关文章

  1. Win10搭建Jenkins部署Java项目(本机和远程Win10部署)

    目录 一.前言&背景 二.环境准备 三.插件安装 四.全局配置 Maven JDK Git Maven 五.新建项目并配置 新建项目 配置 1.Discard old builds 2.Thi ...

  2. 澳大利亚公共服务部门神速完成Win10部署:4个月完成44000台设备升级

    不到一年时间,澳大利亚公共服务部门已经完成Win10系统部署升级,涉及到全部的35000名员工.在2015年,澳大利亚公共服务部门IT员工告知微软,需要更创新的方式远程为居民提供服务,并且效率要更快. ...

  3. Win10 部署 依赖 NET3.5 项目,报错 无法安装 NET3.5 ,该如何解决?

    下载 NetFx3.cab Cab 安装包 拷贝 NetFx3.cab 文件至 C:\Windows 目录 打开命令行窗口(管理员权限) 输入以下内容: dism /online /Enable-Fe ...

  4. Win10部署IIS 10.0

    win10自带IIS10.0 控制面板 >> 程序 >>启用或关闭Windows功能 勾选完之后会安装IIS,安装完成后 计算机管理 >> 服务和应用程序 > ...

  5. win10部署Python3和Python2

    首先添加两个的环境变量, 使用python3 -m pip -v (后面为自己的pip命令) 工具: pip install you-get you-get -url

  6. (二)部署solr7.1.0到tomcat

    solr7.1.0部署到tomcat8 官方表示solr5之后的版本不再提供对第三方容器的支持(不提供war包了). "旧式"solr.xml格式不再支持,核心必须使用core.p ...

  7. Solr7 安装部署 管理界面介绍

    Solr7 安装部署 管理界面介绍 本章重点介绍CentOS 安装部署Solr7 ,Solr的管理界面介绍,添加核心Core配置,Dataimport导入数据,Documents 在线维护索引,Que ...

  8. win10上部署Hadoop-2.7.3——非Cygwin、非虚拟机

    开始接触Hadoop,听人说一般都是在Lunix下部署Hadoop,但是本人Lunix不是很了解,所以Google以下如何在Win10下安装Hadoop(之后再在Lunix下弄),找到不少文章,以下是 ...

  9. 使用 WinAppDeployCmd 部署Win10 App 到移动设备

    WinAppDeployCmd是目前微软提供的Win10 App 部署工具,它和以前的Windows Phone Application Deployment 部署工具有所不同的是,WinAppDep ...

  10. Win10 IoT C#开发 2 - 创建基于XAML的UI程序 及 应用的三种部署方法

    Windows 10 IoT Core 是微软针对物联网市场的一个重要产品,与以往的Windows版本不同,是为物联网设备专门设计的,硬件也不仅仅限于x86架构,同时可以在ARM架构上运行. 上一章我 ...

随机推荐

  1. 看到了必须要Mark啊,最全的编程中英文词汇对照汇总(里面有好几个版本的,每个版本从a到d的顺序排列)

    java:  第一章: JDK(Java Development Kit) java开发工具包 JVM(Java Virtual Machine) java虚拟机 Javac  编译命令 java   ...

  2. linux下安装多个Tomcat

    编辑环境变量:vi /etc/profile 加入以下代码 ##########first tomcat########### CATALINA_BASE=/usr/local/src/tomcat ...

  3. 查看linux的公网地址

    在搭建环境时,我们需要搭建公网IP地址,因此我们可以使用以下命令查看公网IP地址 curl ifconfig.me 同时我们可以通过以下命令查看公网地址 curl cip.cc

  4. 什么是Vagrant

    相信大家对VMware和VirsualBox不会太陌生,虚拟化的好处在这里我就不多说了.那么我们就一起来学习用Vagrant 为自己来打造一个神奇的跨平台开发环境吧!! 开发过程中,我们经常碰到一个问 ...

  5. linux 下ab压力测试

    1.ab的简介 ab是apachebench命令的缩写. ab是apache自带的压力测试工具.ab非常实用,它不仅可以对apache服务器进行网站访问压力测试,也可以对或其它类型的服务器进行压力测试 ...

  6. MySQL之字符集

    看unicode编码区从1 - 126就属于传统utf8区,当然utf8mb4也兼容这个区,126行以下就是utf8mb4扩充区 1.utf8与utf8mb4(utf8 most bytes 4) M ...

  7. ##Django中Application labels aren't unique解决方法##

    pip更新了所有插件,发现了按平常编码遇到些问题,记录下. Django错误 django.core.exceptions.ImproperlyConfigured: Application labe ...

  8. SpringBoot+AOP整合

    SpringBoot+AOP整合 https://blog.csdn.net/lmb55/article/details/82470388 https://www.cnblogs.com/onlyma ...

  9. spring 方法验证参数

    1:实体使用 @Valid    使用 validation  类注解 2:String 使用 controller 添加 @Validated @NotBlank(message = "i ...

  10. 测试体验Centrifugo

    今天尝试用 centrifugo 来做一个在聊天室,以前用workerman做过,相对来说 workerman的配置就显得复杂多了,需要自己搭建PHP环境, 而 centrifugo 就清爽多了,官网 ...