热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Solr6.6安装教程

Solr简介及安装环境:目前网上有不少关于Solr的教程,但是Solr6+以上相关的资料还是比较少的,虽说Solr6+的安装与使用过程较与之前的版本大同小异,但某些差异所引发的

Solr简介及安装环境:

目前网上有不少关于Solr的教程,但是Solr6+以上相关的资料还是比较少的,虽说Solr6+的安装与使用过程较与之前的版本大同小异,但某些差异所引发的问题还是比较麻烦的。有不少朋友可能听过或用过Lucene,甚至纠结于到底是选择Solr还是Lucene,在讲解Solr之前简单介绍一下Solr并介绍一下Solr与Lucene之间的关系(ps:多学点技术总比少学点技术好,而且Solr与Lucene之间息息相关,学会一个对于学另一个有很大的帮助,同时对于其中的细节也能了解的更加透彻)

什么是Solr?

        Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。

Solr的特点:

       Solr是一个高性能,采用Java开发,Solr基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。

什么是Lucene?

        Lucene是apache软件基金会 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文两种西方语言)。
   Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。

Solr与Lucene之间的关系:

        Solr是一个高性能,采用Java开发,基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。
        Solr和Lucene的本质区别有以下三点:搜索服务器,企业级和管理。Lucene本质上是搜索库,不是独立的应用程序,而Solr是。Lucene专注于搜索底层的建设,而Solr专注于企业应用。Lucene不负责支撑搜索服务所必须的管理,而Solr负责。所以说,一句话概括Solr: Solr是Lucene面向企业搜索应用的扩展。

安装环境:

  • 不管是Windows还是Linux操作系统,Solr的安装都是一样的,在此就选择比较简单的Windows了。
  • 此处使用的Solr是最新版的Solr-6.6.0,没有的朋友可以去Apache Solr官网进行下载,此处就不过多讲解了。
  • Solr-6.6.0所需Tomcat服务器必须为Tomcat8+以上,所需jdk编译环境也必须在jdk8+以上(ps:Tomcat与jdk没达到要求的朋友也可以去相应的官网上进行下载并安装,此处也不过多讲解了)
  • 将下载好的solr-6.6.0.zip解压至D:\JAR\Solr
  • 将Tomcat解压至D:\Tomcat8
  • 解压路径根据自己的喜好风格即可,没有固定的目录格式

Solr搭建:

复制Web项目:

  • 解压后的Solr中有一个server目录,进入server目录,紧接着进入solr-webapp目录,复制solr-webapp目录下的webapp文件夹至tomcat的webapps目录下,并将复制过来的webapp文件夹改名为solr(ps:复制过来的就是一个Java Web项目,因此此处不进行改名也可以,不改名的话项目名称就是webapp,改名后项目名称为solr,有一点Java Web经验的朋友对此处应该能够很容易理解)

创建SolrHome:

  • 创建一个SolrHome,即存放solr索引及相关配置文件的地方,在任意一个盘中创建一个空文件夹即可,路径及名字不一定为SolrHome\solr_home,根据自己喜好即可,如下图:

  • 解压后的Solr中有一个server目录,进入server目录,紧接着进入solr目录,将目录中所有内容复制到创建的solr_home中,如下图:

  • 修改复制到tomcat中的solr项目中的WEB-INF目录下的web.xml配置文件,如下图:


复制所需jar包:

  • 将所需要的架包通通复制到tomcat的solr项目中的WEB-INF目录下的lib目录下,如下图:

  • 复制solr-6.6.0\dist 下的solr-dataimporthandler-6.6.0.jar、solr-dataimporthandler-extras-6.6.0.jar 包到tomcat下的webapps\solr\WEB-INF\lib目录下
  • 复制solr-6.6.0\server\lib\ext下的所有jar包到tomcat下的webapps\solr\WEB-INF\lib目录下
  • 复制solr-6.6.0\server\lib下的metrics开头的5个jar到tomcat下的webapps\solr\WEB-INF\lib目录下(即metrics-core-3.2.2.jar、metrics-ganglia-3.2.2.jar、metrics-graphite-3.2.2.jar、metrics-jetty9-3.2.2.jar、metrics-jvm-3.2.2.jar)

验证Solr是否安装成功:

  • 开启tomcat服务器,访问http://localhost:8080/solr/index.html(ps:按道理来说只要访问http://localhost:8080/solr就能成功访问才对,但是solr6.6必须还得在后面加上index.html才行,有朋友知道是什么原因的话可以跟我说一下),如下图所示:

创建一个自己的core:

  • Solr里面的core就像数据库里面的一个表,用来管理索引和相关配置。
  • 进入solr_home(ps:前面已经将相关配置文件复制到了solr_home中,没有复制的朋友看看前面相关操作),创建一个名为test1的文件夹:

  • 将solr_home下的configsets目录下的sample_techproducts_configs目录下的conf文件夹复制到test1中:

  • 访问http://localhost:8080/solr/index.html,进行如下操作:

  • 至此整个solr就搭建好了,至于Solr如何使用后期再慢慢介绍吧

推荐阅读
  • 一:什么是solrSolr是apache下的一个开源项目,使用Java基于lucene开发的全文搜索服务器;Lucene是一个开放源代 ... [详细]
  • Linux下部署Symfoy2对app/cache和app/logs目录的权限设置,symfoy2logs
    php教程|php手册xml文件php教程-php手册Linux下部署Symfoy2对appcache和applogs目录的权限设置,symfoy2logs黑色记事本源码,vsco ... [详细]
  • Tomcat安装与配置教程及常见问题解决方法
    本文介绍了Tomcat的安装与配置教程,包括jdk版本的选择、域名解析、war文件的部署和访问、常见问题的解决方法等。其中涉及到的问题包括403问题、数据库连接问题、1130错误、2003错误、Java Runtime版本不兼容问题以及502错误等。最后还提到了项目的前后端连接代码的配置。通过本文的指导,读者可以顺利完成Tomcat的安装与配置,并解决常见的问题。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • Servlet多用户登录时HttpSession会话信息覆盖问题的解决方案
    本文讨论了在Servlet多用户登录时可能出现的HttpSession会话信息覆盖问题,并提供了解决方案。通过分析JSESSIONID的作用机制和编码方式,我们可以得出每个HttpSession对象都是通过客户端发送的唯一JSESSIONID来识别的,因此无需担心会话信息被覆盖的问题。需要注意的是,本文讨论的是多个客户端级别上的多用户登录,而非同一个浏览器级别上的多用户登录。 ... [详细]
  • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
    本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
  • 本文介绍了禅道作为一款国产开源免费的测试管理工具的特点和功能,并提供了禅道的搭建和调试方法。禅道是一款B/S结构的项目管理工具,可以实现组织管理、后台管理、产品管理、项目管理和测试管理等功能。同时,本文还介绍了其他软件测试相关工具,如功能自动化工具和性能自动化工具,以及白盒测试工具的使用。通过本文的阅读,读者可以了解禅道的基本使用方法和优势,从而更好地进行测试管理工作。 ... [详细]
  • Lucene 全文检索技术入门
    一、搜索引擎的历史萌芽:Archie、Gopher起步:Robot(网络机器人)的出现与spider(网络爬虫)发展:excite、galax ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • 如何实现JDK版本的切换功能,解决开发环境冲突问题
    本文介绍了在开发过程中遇到JDK版本冲突的情况,以及如何通过修改环境变量实现JDK版本的切换功能,解决开发环境冲突的问题。通过合理的切换环境,可以更好地进行项目开发。同时,提醒读者注意不仅限于1.7和1.8版本的转换,还要适应不同项目和个人开发习惯的需求。 ... [详细]
  • 开发笔记:spring boot项目打成war包部署到服务器的步骤与注意事项
    本文介绍了将spring boot项目打成war包并部署到服务器的步骤与注意事项。通过本文的学习,读者可以了解到如何将spring boot项目打包成war包,并成功地部署到服务器上。 ... [详细]
  • 本文介绍了在sqoop1.4.*版本中,如何实现自定义分隔符的方法及步骤。通过修改sqoop生成的java文件,并重新编译,可以满足实际开发中对分隔符的需求。具体步骤包括修改java文件中的一行代码,重新编译所需的hadoop包等。详细步骤和编译方法在本文中都有详细说明。 ... [详细]
  • 本文介绍了在无法联网的情况下,通过下载rpm包离线安装zip和unzip的方法。详细介绍了如何搜索并下载合适的rpm包,以及如何使用rpm命令进行安装。 ... [详细]
author-avatar
lrg冰天雪地789_444
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有