solr 学习之简介及安装

一、solr简介

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

Solr是一个全文检索服务器,只需要进行配置就可以实现全文检索服务。

Solr它是一种开放源码的、基于 Lucene Java 的搜索服务器,易于加入到 Web 应用程序中。Solr 提供了层面搜索(就是统计)、命中醒目显示并且支持多种输出格式(包括XML/XSLT 和JSON等格式)。它易于安装和配置,而且附带了一个基于HTTP 的管理界面。可以使用 Solr 的表现优异的基本搜索功能,也可以对它进行扩展从而满足企业的需要。Solr的特性包括:

  • 高级的全文搜索功能
  • 专为高通量的网络流量进行的优化
  • 基于开放接口(XML和HTTP)的标准
  • 综合的HTML管理界面
  • 可伸缩性-能够有效地复制到另外一个Solr搜索服务器
  • 使用XML配置达到灵活性和适配性
  • 可扩展的插件体系

 Lucene 是什么

Lucene是一个基于Java的全文信息检索工具包,它不是一个完整的搜索应用程序,而是为你的应用程序提供索引和搜索功能。Lucene 目前是 Apache Jakarta(雅加达) 家族中的一个开源项目。也是目前最为流行的基于Java开源全文检索工具包。目前已经有很多应用程序的搜索功能是基于 Lucene ,比如Eclipse 帮助系统的搜索功能。Lucene能够为文本类型的数据建立索引,所以你只要把你要索引的数据格式转化的文本格式,Lucene 就能对你的文档进行索引和搜索。

二、solr的单机版安装

环境:centos6.5  64位 JDK1.7   tomcat1.7

 solr4.10.3

1、创建solor4目录,并将tomcat安装在该目录下

[root@localhost tools]# mkdir /usr/local/solr4

[root@localhost solr4]# pwd
/usr/local/solr4
[root@localhost solr4]# ll
总用量 4
drwxr-xr-x. 9 root root 4096 3月   4 01:17 tomcat7

jdk与tomcat的安装参考:http://www.cnblogs.com/jalja/p/6117048.html

2、安装solr    solr-4.10.3.tgz.tgz

解压:[root@localhost tools]# tar -zxvf solr-4.10.3.tgz.tgz

目录介绍:

[root@localhost solr-4.10.3]# ll
总用量 996
drwxr-xr-x.  2 root root   4096 3月   4 01:23 bin
-rw-r--r--.  1 root root 406208 12月 10 2014 CHANGES.txt
drwxr-xr-x. 13 root root   4096 12月 10 2014 contrib
drwxr-xr-x.  4 root root   4096 3月   4 01:23 dist
drwxr-xr-x. 17 root root   4096 3月   4 01:23 docs
drwxr-xr-x. 15 root root   4096 3月   4 01:23 example
drwxr-xr-x.  2 root root  28672 3月   4 01:23 licenses
-rw-r--r--.  1 root root  12646 12月  1 2014 LICENSE.txt
-rw-r--r--.  1 root root 501873 12月  8 2014 LUCENE_CHANGES.txt
-rw-r--r--.  1 root root  24655 12月  1 2014 NOTICE.txt
-rw-r--r--.  1 root root   5344 12月  1 2014 README.txt
-rw-r--r--.  1 root root    850 12月  1 2014 SYSTEM_REQUIREMENTS.txt

(1)bin:是脚本的启动目录

(2)contrib:第三方包存放的目录

(3)dev-tools:跟开发工具相关的包

(4)dist:编译打包后存放目录,即构建后的输出产物存放的目录

(5)docs:solr文档的存放目录

(6)example:示范例子的存放目录,这里展示了DIH,即数据导入处理的例子

(7)licenses:权限相关的

(8)lucene:solr基于Lucene开发,本身是lucene代码的目录,但是构建后都为空,相关东西已经到jar包中

(9)server:即solr搜索引擎框架,基于jetty web服务器开发的。包含jetty服务器的配置。(这个目录就类似于一个包含了tomcat服务器,里面有一个基于solr的web工程)

3、将solr(/opt/tools/solr-4.10.3/dist/solr-4.10.3.war)应用部署到tomcat下,并改名为solr.war(访问简单)

/opt/tools/solr-4.10.3/dist
[root@localhost dist]# cp solr-4.10.3.war /usr/local/solr4/tomcat7/webapps/solr.war

4、启动tomcat

[root@localhost bin]# ./startup.sh 

5、关闭tomcat,删除webapps中的 solr.war    [root@localhost webapps]# rm -rf solr.war

6、复制/opt/tools/solr-4.10.3/example/lib/ext 下的日志相关jar包到solr工程中

[root@localhost ext]# cp * /usr/local/solr4/tomcat7/webapps/solr/WEB-INF/lib/

7、创建solrhome。用于存放solr服务器所有配置文件的目录

[root@localhost example]# pwd
/opt/tools/solr-4.10.3/example
[root@localhost example]# cp -r solr /usr/local/solr4/solrhome

8、指定solrhome的位置 修改solr工程的 web.xml文件

    <env-entry>
       <env-entry-name>solr/home</env-entry-name>
       <env-entry-value>/usr/local/solr4/solrhome</env-entry-value>
       <env-entry-type>java.lang.String</env-entry-type>
    </env-entry>

9、修改tomcat的编码方式

    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"
               URIEncoding="UTF-8"/>

10、启动tomcat ,开放8080端口

[root@localhost bin]#  /sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT   
[root@localhost bin]#   /etc/init.d/iptables save 
iptables:将防火墙规则保存到 /etc/sysconfig/iptables:     [确定]
[root@localhost bin]# service iptables restart
iptables:将链设置为政策 ACCEPT:filter                    [确定]
iptables:清除防火墙规则:                                 [确定]
iptables:正在卸载模块:                                   [确定]
iptables:应用防火墙规则:                                 [确定]

11、访问solr应用

http://192.168.6.179:8080/solr

原文地址:https://www.cnblogs.com/jalja/p/6498111.html