在学习solr过程中,磕磕碰碰,遇到过许多问题,所以特写下笔记,以供需要的时候时常翻阅,也给能看到该博文的博友提供一个不全面的参考。

一、solr简介:

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

二、solr下载:

solr最新版的下载链接是:http://mirrors.hust.edu.cn/apache/lucene/solr/6.4.2/,通过上述地址下载Zip文件即可,但是基于不使用最新版的保守心理,我任然在适用4.10.3版本,这里附上4.10.3版的下载地址:http://archive.apache.org/dist/lucene/solr/4.10.3/,当然,如果还是下载不了,请到我的cnbolg下下载。

三、solr安装在Tomcat下:

1)环境介绍:

JDK:jdk1.8.0_121,请使用1.7及以上版本,笔者在JDK1.6上solr配置之后跑不起来

Tomcat:apache-tomcat-7.0.73

solr:solr-4.10.3

2)solr目录介绍:下载solr加压后的目录结构如图所示

bin是solr运行的脚本

contrib是solr的一些插件,用于扩展solr的功能

dist该文件夹下包含build过程中产生的war和jar文件,以及相关的依赖文件

doc:solr的文档

example:solr官方提供的一些示例程序,简要介绍几个示例

solr:该目录是一个包含了默认配置信息的Solr的Core目录

multicore:该目录包含了在Solr的multicore中设置的多个Core目录

webapps:该目录中包括一个solr.war,该war可作为solr的运行实例工程

licenses:solr相关的一些许可信息

3)创建solr工程

①、创建solr文件夹,在solr文件夹下创建solrHome文件夹,solrHome是solr运行的主目录,其下可以建立多个solr实例工程,及solrCore,solrCore单独对外提供一个搜索服务。

②、将solr-4.10.3\example\solr\下的所有文件copy到新建的solr工程的solrHome下,collection1即是一个solrCore,每个solrCore下的conf文件下都有solrconfig.xml文件,这是solrCore运行的配置文件。(solr-4.10.3是解压下载的Zip文件)

③、将solr-4.10.3下的contrib和dist 复制到solr下,与solrHome同级

④、加载jar包:打开solrCore(collection1)下conf文件中的solrconfig.xml文件,找到引用jar包的代码

注:1、solr.install.dir表示solrCore的位置,需要根据实际jar包的位置更改jar包引用路径

2、每两个点“..”代表退到上一级目录,所以退了两级目录,到了solr目录,因此上图表示的是在引用的jar包在solr目录下的contrib或者dist目录下

⑤、更改dataDir:每个SolrCore都有自己的索引文件目录 ,默认在SolrCore目录下的data中

新建的solrCore没有data,data在项目运行时自动生成,如上所示使用默认目录,等于<dataDir>${solr.data.dir:E:/solr/solrHome/collection1/data}</dataDir>,如需自定义data则更改对应的路径。

4)solr工程部署到Tomcat上

①、将solr-4.10.3\dist下的solr-4.10.3.war复制到Tomcat的webapp目录下,并改名为solr.war

②、启动Tomcat后,solr.war自动解压之后删除solr.war;或者用360压缩工具解压。

③、将solr-4.10.3\example\lib\ext下所有jar包复制到webapps\solr\WEB-INF\lib目录下

④、修改webapps\solr\WEB-INF下的web.xml文件:目的是将Tomcat中的solr关联上之前创建的solr工程

<!--设置solr工程关联Tomcat服务器-->
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<!--在此处修改为之前创建的solr工程的路径-->
<env-entry-value>E:\solr\solrHome</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>

  ⑤、复制log4j.properties文件

在webapps\solr\WEB-INF下新建classes文件夹,将solr-4.10.3\example\resources下的log4j.properties文件复制到classes目录下

⑥、启动Tomcat,在浏览器中访问http://localhost:8080/solr ,结果如下:

由此,solr的安装便完成,接下来即可进行solr的学习了!

solr笔记之solr下载及安装的更多相关文章

  1. Python学习笔记22:Django下载并安装

    Django它是一个开源Web应用程序框架.由Python书面. 通过MVC软件设计模式,这种模式M,视图V和控制器C. 它最初是一个数字新闻内容为主的网站已经发展到管理劳伦斯出版集团.那是,CMS( ...

  2. 笔记:Maven 下载和安装

    Windows 安装 下载 Apache Maven,下载地址为 http://maven.apache.org/ 解压缩下载的 ZIP 文件,复制到安装目录 增加环境变量 M2_HOME ,值为 A ...

  3. Solr学习笔记(1) —— Solr概述&Solr的安装

    一.概述 使用Solr实现电商网站中商品信息搜索功能,可以根据关键字.分类.价格搜索商品信息,也可以根据价格进行排序. 1.1 实现方法 在一些大型门户网站.电子商务网站等都需要站内搜索功能,使用传统 ...

  4. solr笔记之安装部署到tomcat

    1. 下载 solr 去官网下载,下载的时候选清华的镜像源,这个页面:https://mirrors.tuna.tsinghua.edu.cn/apache/lucene/solr/7.1.0/ 在/ ...

  5. Solr笔记--转载

    Solr 是一种可供企业使用的.基于 Lucene 的搜索服务器,它支持层面搜索.命中醒目显示和多种输出格式.在这篇分两部分的文章中,Lucene Java™ 的提交人 Grant Ingersoll ...

  6. solr的认识、linux下安装、java下使用(含下载资源)

    目录 一.solr的大概认识 二.solr安装 三.solr的深度认识 四.solr的使用 (1)由于我们用到中文,所以需要中文分析器,这里我用IK Analyzer 2012FF_hf1 (2)同时 ...

  7. Apache Solr 初级教程(介绍、安装部署、Java接口、中文分词)

    Python爬虫视频教程零基础小白到scrapy爬虫高手-轻松入门 https://item.taobao.com/item.htm?spm=a1z38n.10677092.0.0.482434a6E ...

  8. Solr系列一:Solr(Solr介绍、Solr应用架构、Solr安装使用)

    一.前言 前面已经学习了Lucene的分词.索引详解.搜索详解的知识,已经知道开发一个搜索引擎的流程了.现在就会有这样的一个问题:如果其他的系统也需要使用开发的搜索引擎怎么办呢?这个时候就需要把开发的 ...

  9. Solr学习总结 Solr的安装与配置

    接着前一篇,这里总结下Solr的安装与配置 1.准备 1.安装Java8 和 Tomcat9 ,java和tomcat 的安装这里不再重复.需要注意的是这两个的版本兼容问题.貌似java8 不支持,t ...

随机推荐

  1. Linux下修改键盘映射

    一篇关于修改键盘映射比较靠谱的文章,收藏一下! 原文地址:http://www.07net01.com/2016/04/1436249.html --------------------------- ...

  2. spring mvc 引用 jasper JasperReportsHtmlView的nullpx图片问题

    spring mvc 引用 jasper  JasperReportsHtmlView的nullpx图片问题 参考:http://stackoverflow.com/questions/1168633 ...

  3. Ninja介绍

    什么是Ninja 在Unix/Linux下通常使用Makefile来控制代码的编译,但是Makefile对于比较大的项目有时候会比较慢,看看上面那副漫画,代码在编译都变成了程序员放松的借口了.所以这个 ...

  4. Git学习之路(3)-提交文件到三个区

    ▓▓▓▓▓▓ 大致介绍 年过的差不多了,开始学习!小白学Git(持续更新) Git有三个工作区域: ◆ 工作区(Working Directory) ◆ 暂存区(Stage) ◆ 版本库(Reposi ...

  5. 语句 if else

    语句 语句是指程序命令,都是按照顺序执行的.语句在程序中的执行顺序称为“控制流”或“执行流”. 根据程序对运行时所收到的输入的响应,在程序每次运行时控制流可能有所不同. 语句间的标点符号必须是英文标点 ...

  6. 初识PHP遗留下来的问题?

    待解决的问题: 1.写一个PHP脚本,显示用户输入的名称. 提示: <?php echo $_POST["username"];?>! <?php echo &q ...

  7. shell编程其实真的很简单(四)

    上篇我们学习了shell中条件选择语句的用法.接下来本篇就来学习循环语句.在shell中,循环是通过for, while, until命令来实现的.下面就分别来看看吧. for for循环有两种形式: ...

  8. 循环语句——do…while语句

    一.do while语句结构 do { 执行语句 } while (条件表达式); 条件表达式必须是trur或false 二.do while语句特点 不论条件是否满足,都先执行一次执行语句 三.示例 ...

  9. 一个基于POI的通用excel导入导出工具类的简单实现及使用方法

    前言: 最近PM来了一个需求,简单来说就是在录入数据时一条一条插入到系统显得非常麻烦,让我实现一个直接通过excel导入的方法一次性录入所有数据.网上关于excel导入导出的例子很多,但大多相互借鉴. ...

  10. phpcms基础知识和配置

    一.设置界面 1.站点设置:相当于服务器上的站点 (1)站点修改:“关键词”和“描述”的修改,便于网络优化和搜索引擎对本网站的搜索. (2)模板的修改,可以自己加模板,引用自己模板 2.基本设置:所有 ...