1. solr简介

1.1 Solr是什么

Solr是apache的顶级开源项目,它是使用java开发 ,基于lucene的全文检索服务器。

Solr和lucene的版本是同步更新的,最新的版本是7.0.1。下载地址:http://archive.apache.org/dist/lucene/solr/

Solr比lucene提供了更多的查询语句,而且它可扩展、可配置,同时它对lucene的性能进行了优化。

Solr是如何实现全文检索的呢?

索引流程:solr客户端(浏览器、java程序)可以向solr服务端发送POST请求,请求内容是包含Field等信息的一个xml文档,通过该文档,solr实现对索引的维护(增删改)

搜索流程:solr客户端(浏览器、java程序)可以向solr服务端发送GET请求,solr服务器返回一个xml文档。

Solr同样没有视图渲染的功能。

1.2 Solr和Lucene的区别

Lucene是一个全文检索引擎工具包,它只是一个jar包,不能独立运行,对外提供服务。

Solr是一个全文检索服务器,它可以单独运行在servlet容器,可以单独对外提供搜索和索引功能。Solr比lucene在开发全文检索功能时,更快捷、更方便。

        

2. Solr安装配置

Solr的安装步骤较多,以win7系统安装4.10.3版本为例,介绍如下

2.1 下载solr-x.x.x.zip,解压(这里为方便演示,解压到桌面)。

目录下各个文件夹作用如下

    

2.2 将以下的war包,拷贝到tomcat的webapps目录下,解压缩之后,再将war包删掉

    

完成后tomcat的webapps目录显示如下:

    

2.3 添加solr的扩展服务包到\webapps\solr\WEB-INF\lib 路径下

    

将以上jar包,添加到如下目录

    

2.4 添加log4j.properties到 \webapps\solr\WEB-INF\classes 路径下

    

添加到如下目录

    

2.5 在web.xml中指定Solrhome的目录

  

2.6 Solrcore 的安装

2.6.1 Solrcore和Solrhome

Solrhome是solr服务运行的主目录,一个solrhome目录里面包含多个solrcore目录,一个solrcore目录里面了一个solr实例运行时所需要的配置文件和数据文件。

每一个solrcore都可以单独对外提供搜索和索引服务,多个solrcore之间没有关系。

2.6.2 Solrcore和Solrhome的目录结构

Solrhome的目录结构

    

Solrcore目录

    

2.6.3 安装SolrCore

安装solrcore需要先安装solrhome——将以下目录的文件拷贝到之前在web.xml中指定Solrhome的目录下

   

拷贝到如下目录,这样solrhome和solrcore就安装成功了。

    

2.7 Solrcore配置

在solrcore的conf目录下,有一个配置文件solrconfig.xml。在该文件中,主要配置三个标签:lib标签、datadir标签、requestHandler标签

如果对该文件不进行配置也可以,即使用默认的配置项。

    

2.7.1 lib 标签

Solrcore需要添加一个扩展依赖包,通过lib标签来指定依赖包的地址

将以下目录的文件进行拷贝

    

复制到以下目录

    

修改lib标签(solr.install.dir:表示solrcore的安装目录)

2.7.2 datadir标签

每个SolrCore都有自己的索引文件目录,默认在SolrCore目录下的data中。

data数据目录下包括了index索引目录和tlog日志文件目录。如果不想使用默认的目录也可以通过solrConfig.xml更改索引目录 ,如下:

2.7.3 requestHandler标签

requestHandler请求处理器,定义了索引和搜索的访问方式。

通过/update维护索引,可以完成索引的添加、修改、删除操作。

提交xml、json数据完成索引维护。

通过/select搜索索引。

设置搜索参数完成搜索,搜索参数也可以设置一些默认值,如下:

<requestHandler name="/select" class="solr.SearchHandler">
<!-- 设置默认的参数值,可以在请求地址中修改这些参数-->
<lst name="defaults">
<str name="echoParams">explicit</str>
<int name="rows">10</int><!--显示数量-->
<str name="wt">json</str><!--显示格式-->
<str name="df">text</str><!--默认搜索字段-->
</lst>
</requestHandler>

3. 启动solr服务

(一)Solr——简介和安装配置的更多相关文章

  1. Nutch搜索引擎Solr简介及安装

    Nutch搜索引擎(第2期)_ Solr简介及安装   1.Solr简介 Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器.同时对其进行了扩展,提供了比Lucene更为丰富的 ...

  2. Zookeeper、Solr和Tomcat安装配置实践

    Zookeeper.Solr和Tomcat安装配置实践

  3. twemproxy 简介、安装配置

    twemproxy 简介.安装配置 http://www.xuchanggang.cn/archives/993.html

  4. Nutch搜索引擎(第2期)_ Solr简介及安装

    1.Solr简介 Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器.同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置.可扩展并对查询性能进行了优化 ...

  5. elasticsearch系列一:elasticsearch(ES简介、安装&配置、集成Ikanalyzer)

    一.ES简介 1. ES是什么? Elasticsearch 是一个开源的搜索引擎,建立在全文搜索引擎库 Apache Lucene 基础之上 用 Java 编写的,它的内部使用 Lucene 做索引 ...

  6. solr简介与安装

    solr简介: Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器.Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置.可扩展,并对索引 ...

  7. elasticsearch系列一elasticsearch(ES简介、安装&配置、集成Ikanalyzer)

    一.ES简介 1. ES是什么? Elasticsearch 是一个开源的搜索引擎,建立在全文搜索引擎库 Apache Lucene 基础之上 用 Java 编写的,它的内部使用 Lucene 做索引 ...

  8. Maven01——简介、安装配置、入门程序、项目构建和依赖管理

    1 Maven的简介 1.1 什么是maven 是apache下的一个开源项目,是纯java开发,并且只是用来管理java项目的 Svn eclipse   maven量级 1.2 Maven好处 同 ...

  9. 最新版Solr 7.2安装配置

    Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口.用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引:也可以通过Http Get操 ...

随机推荐

  1. luogu P1220 关路灯

    题目描述 某一村庄在一条路线上安装了n盏路灯,每盏灯的功率有大有小(即同一段时间内消耗的电量有多有少).老张就住在这条路中间某一路灯旁,他有一项工作就是每天早上天亮时一盏一盏地关掉这些路灯. 为了给村 ...

  2. Codeforces 449D Jzzhu and Numbers(高维前缀和)

    [题目链接] http://codeforces.com/problemset/problem/449/D [题目大意] 给出一些数字,问其选出一些数字作or为0的方案数有多少 [题解] 题目等价于给 ...

  3. 【分类讨论】【spfa】【BFS】Codeforces Round #416 (Div. 2) D. Vladik and Favorite Game

    那个人第一步肯定要么能向下走,要么能向右走.于是一定可以判断出上下是否对调,或者左右是否对调. 然后他往这个方向再走一走就能发现一定可以再往旁边走,此时就可以判断出另一个方向是否对调. 都判断出来以后 ...

  4. GIL,queue,进程池与线程池

    GIL 1.什么是GIL(这是Cpython解释器) GIL本质就是一把互斥锁,既然是互斥锁,原理都是一样的,都是让多个并发线程同一时间只能有一个执行 即:有了GIL的存在,同一进程内的多个线程同一时 ...

  5. Java编程思想学习(二)----一切都是对象

    2.1用应用操作对象 String s; 这里所创建的只是引用,并不是对象.如果此时向s发送一个消息,就会返回一个运行时错误.这是因为此时s没有和任何事物关联.因此,一种安全的做法是:创建一个引用的同 ...

  6. Problem C: 程序改错(递归函数):数字转字符

    Description 下面程序中“/ ***** N ***** /”的下一行中有错误,请改正(注意:不得加行.减行.加句.减句,否则后果自负). 该程序功能:用递归法将一个六位整数n转换成字符串, ...

  7. keytool工具生成自签名证书并且通过浏览器导入证书

    1.生成服务器证书库 keytool -genkey -alias tomcat -keypass changeit -keyalg RSA -keysize 1024 -validity 365 - ...

  8. Codeforces Round #343 (Div. 2) D. Babaei and Birthday Cake 线段树维护dp

    D. Babaei and Birthday Cake 题目连接: http://www.codeforces.com/contest/629/problem/D Description As you ...

  9. Android Content Provider Security(转)

    四大组件之一-content provider安全详解 原帖地址:http://drops.wooyun.org/tips/4314 0x00 科普 内容提供器用来存放和获取数据并使这些数据可以被所有 ...

  10. oracle 察看用户是否被锁,解锁以及改密码

     以管理员身份登陆 察看用户状态(是否被锁) select * from dba_users where username='user1' 解锁 ALTER USER user1 ACCOUNT UN ...