Solr搜索引擎的使用(浅谈)

1.介绍

        对Solr简单地下定义是:Solr是一个面向自然语言处理的搜索引擎技术,开放源码的、基于 Lucene Java的搜索服务器,易于加入Web应用程序中。

        说起搜索引擎技术,我们不得不提一下 Lucene。Lucene是一个基于Java的全文信息检索工具包,它不是一个完整的搜索应用程序,而是为你的应用程序提供索引和搜索功能。Lucene是Apache Jakarta(雅加达)家族中的一个开源项目,也是目前最为流行的基于Java开源全文检索工具包。目前已经有很多应用程序的搜索功能是基于 Lucene,比如Eclipse帮助系统的搜索功能。Lucene能够为文本类型的数据建立索引,所以只要把你要索引的数据格式转化为文本格式,Lucene就能对你的文档进行索引和搜索。我重点介绍的是Solr,,Solr与 Lucene并不是竞争对立关系,恰恰相反,Solr依存于Lucene,因为Solr底层的核心技术是使用Lucene来实现的。Solr和 Lucene的本质区别有三点:搜索服务器、企业级和管理。Lucene本质上是搜索库,不是独立的应用程序,而Solr是。Lucene专注于搜索底层的建设,而Solr专注于企业应用。Lucene不负责支撑搜索服务所必需的管理,而Solr负责。所以说 Solr是 Lucene面向企业搜索应用的扩展。

        另外在介绍Solr之前,我们先来了解下什么叫全文检索。比如我们电脑里有一个文件夹,文件夹中储存了很多文件,例如Word、Excel以及PPT,我们希望根据搜索关键字的方式搜索到相应的文档,比如我们输入Solr,所有内容含有Solr这个关键字的文件就会被筛选出来,这个就是全文检索。

2.Solr简介与部署       

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

1.高级的全文搜索功能。

2.专为高通量的网络流量进行的优化。

3.基于开放接口(XML和 HTTP)的标准。

4.综合的HTML管理界面。

5.可伸缩性——能够有效地复制到另矶二个Solr搏索服务器。

6.使用XML配置达到灵活性和适配性。

7.可扩展的插件体系。

      了解了Solr基本概念之后,我们来简单介绍下Solr的部署步骤。Solr是Apache下的一个顶级开源项目,采用Java开发,所以在安装Solr之前我们首先需要安装JDK环境。另外,Solr提供了一个基于HTTP 的管理界面,所以需要Tomcat容器,但本篇就不用Tomcat容器,采用直接导进数据的方式来演示。

2.1 Solr的具体安装部署如下:

1)下载JDK、Solr安装包。

       JDK下载地址:Java Downloads | Oracle 中国,这里我们使用的Solr的版本是6.6.0,Solr版本最好是搭配JDK1.8,虽然官网没有明确要求Solr要使用JDK1.8,但是Solr6中部分功能对servlet-api的版本有要求,所以建议使用JDK1.8.这里使用JDK版本jdk1.8.0_91。

       Solr下载地址:Index of /dist/lucene/solr,这里我们使用solr-6.6.0版本。

下载完成,配置JDK,配置完成如下图所示:

a.在环境变量中建立JAVA_HOME,并在Path中加入安装好的jdk路径。 

b.下载好Solr并解压到一个文件夹下,我这里解压到E:\pywork\solr-6.6.0。

 c.进入solr的bin目录下,在命令窗口输入启动命令 solr start,关闭命令是 solr stop -all :

 d.在浏览器地址栏访问http://localhost:8983/solr/,即可访问到solr的可视化管理界面Solr Admin。  

 在E:\pywork\solr-6.6.0\bin目录下执行一下命令,建立一个核心  jcg  :

solr create -c jcg -d basic_configs

 执行完命令后关闭再启动solr,就可以看到上一张图片效果。

e.导入数据

本例中我们使用solr自带的例子。

 将books.csv复制到E:\pywork\solr-6.6.0\server\solr\jcg\conf文件夹下。

 打开管理文件,在第一个WARNING后添加如下内容后保存,关闭重启solr:

<uniqueKey>id</uniqueKey>  
    <!-- Fields added for books.csv load-->  
    <field name="cat" type="text_general" indexed="true" stored="true"/>  
    <field name="name" type="text_general" indexed="true" stored="true"/>  
    <field name="price" type="tdouble" indexed="true" stored="true"/>  
    <field name="inStock" type="boolean" indexed="true" stored="true"/>
    <field name="author" type="text_general" indexed="true" stored="true"/>

 f.浏览器http方式导入books.csv,显示如下结果表示导入成功。

 导入链接:http://localhost:8983/solr/jcg/update/csv?commit=true&stream.file=E:/pywork/solr-6.6.0/server/solr/jcg/conf/books.csv&stream.contentType=text/plain;charset=GB2312

 至此安装部署完成。

3. 检索数据

 4. 管理界面概述

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值