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. CSAPP:第十二章 并发编程

    CSAPP:第十二章 并发编程 12.1 线程执行模型12.2 多线程之间并发通信12.3 其他并发问题   使用应用级并发的应用程序称为并发程序.现代操作系统提供三种基本的构造并发程序的方法: 进程 ...

  2. .NET Core 图片操作在 Linux/Docker 下的坑

    一.前言 .NET Core 目前更新到2.2了,但是直到现在在 .NET Core 本身依然不包括和图片有关的 Image.Bitmap 等类型.对于图片的操作在我们开发中很常见,比如:生成验证码. ...

  3. 【原创】互联网项目中mysql应该选什么事务隔离级别

    摘要 企业千万家,靠谱没几家. 社招选错家,亲人两行泪. 祝大家金三银四跳槽顺利! 引言 开始我们的内容,相信大家一定遇到过下面的一个面试场景 面试官:"讲讲mysql有几个事务隔离级别?& ...

  4. windows安全更新程序(KB4093112) 安装失败 错误0x80070011

    解决办法:win + R → 输入regedi 将默认安装路径改回C盘的program files

  5. 微信跳转外部浏览器打开指定H5链接的功能源码

    通常大家在微信内转发分享H5链接的时候都很容易碰到H5链接在微信内无法打开或在微信内无法打开app下载页的情况.通常这种情况微信会给个提示 “已停止访问该网址” ,那么导致这个情况的因素有哪些呢,主要 ...

  6. mybatis将传入的Integer类型的0被识别成空字符串的问题

    更改mapper文件的sql如下: <if test="interger != null"> interger= #{interger} </if> 原因: ...

  7. [2019.03.16]使用DOM操作函数和CSS选择器来针对已有的HTML进行只凭JS的改动

    刚入职的时候看到公司用的HTML日志生成工具附带的Panel,工具不够用,找个Fail还要找半天,于是自己琢磨着添砖加瓦.以前也是个半吊子前端工程师,现在可倒好,想要改页面却连页面生成的模板在哪里都不 ...

  8. android 调用 screenrecord 实现录屏

    首先要说明的是并未实现,本文讲一下自己的思路. adb 使用shell 命令 screenrecord 可录屏. 自己写了个app,通过Process p = Runtime.getRuntime() ...

  9. [SCOI2009]生日礼物题解

    题目 一道模拟和队列题,但模拟比队列的成分多一些.队列也就是用两个指针模拟的. 可以用枚举的思想.首先我们知道r(即区间的右端点是肯定不会左移的),而l右移的同时,r可能不变,也可能右移,所以这样就可 ...

  10. [mooc]open course on github

    来自多位GitHub网友在GitHub分享的几组学习课程项目, 学习课程包含清华,北大,浙大,中科大,上海交大, 等中国多所名校的英语,AI高数,人工智能等课程以及一些讲义考题. 如果你想了解这些大学 ...