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. 转自阿里云邪-如何从小白成长为 Apache Committer?

    http://wuchong.me/blog/2019/02/12/how-to-become-apache-committer/ 过去三年,我一直在为 Apache Flink 开源项目贡献,也在两 ...

  2. 10-PI开发手册-ERP发布服务供外围系统调用(RFC类型)

      一.      文档信息 版本号* 更新日期* 姓名* 更新内容及更新理由* 备注* V1.0 2019/02/19 fanjb 文档创建 以福利接口13589(Z00HRJ_GJJ_REV_FI ...

  3. c# 串口SerialPort

    创建SerialPortFun类 using System; using System.Collections.Generic; using System.Linq; using System.Tex ...

  4. Java的selenium代码随笔(8)

    Selenium截图方法一: Selenium中截图类TakeScreenshout,这个类主要是获取浏览器窗体内的内容,不包括浏览器的菜单和桌面的任务栏区域,我们用百度首页来截图,看看截图效果. F ...

  5. Laravel-任务调度

    简介Cron 是 UNIX.SOLARIS.LINUX 下的一个十分有用的工具,通过 Cron 脚本能使计划任务定期地在系统后台自动运行.这种计划任务在 UNIX.SOLARIS.LINUX下术语为 ...

  6. 【pytorch】pytorch-backward()的理解

    pytorch-backword函数的理解 函数:\(tensor.backward(params)\) 这个params的维度一定要和tensor的一致,因为tensor如果是一个向量y = [y1 ...

  7. Oracle 12c CDB PDB 安装/配置/管理

    Oracle安装参考:https://www.cnblogs.com/zhichaoma/p/9288739.html 对于CDB,启动和关闭与之前传统的方式一样,具体语法如下:     STARTU ...

  8. Forethought Future Cup - Elimination Round

    A:签到. #include<bits/stdc++.h> using namespace std; #define ll long long char getc(){char c=get ...

  9. MySQL物理备份 xtrabackup

    MySQL 备份之 xtrabackup | innobackupex Xtrabackup 介绍 Xtrabackup 是一个对 InnoDB 做数据备份的工具,支持在线热备份(备份时不影响数据读写 ...

  10. LOJ#2668 书法家

    题意:要在一张网格纸上画出NOI图形,使得所占格子的权值和最大. 解:暴力DP即可... 从左往右,每个字母都可以被划分成三块,且每块都可用上下两维来表示. 于是一块一块的DP.考虑如何O(1)转移. ...