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

Solr技术分析和运用(一)搭建solr环境

1.1solr简介1.1.1官网介绍Solr是一个基于Lucene的Java搜索引擎服务器。Solr提供了层面搜索、命中醒目显示并且支持多种输出格式

1.1 solr 简介 

    1.1.1 官网介绍

Solr是一个基于LuceneJava搜索引擎服务器。Solr 提供了层面搜索、命中醒目显示并且支持多种输出格式(包括 XML/XSLT  JSON 格式)。它易于安装和配置,而且附带了一个基于 HTTP 的管理界面。Solr已经在众多大型的网站中使用,较为成熟和稳定。Solr 包装并扩展了 Lucene,所以Solr的基本上沿用了Lucene的相关术语。更重要的是,Solr 创建的索引与 Lucene 搜索引擎库完全兼容。通过对 Solr 进行适当的配置,某些情况下可能需要进行编码,Solr 可以阅读和使用构建到其他 Lucene 应用程序中的索引。此外,很多 Lucene 工具(如 Nutch Luke)也可以使用 Solr 创建的索引。 总结一下solr是一个java搜索引擎服务器(是一套war程序),内部集成了Lucene(apache提供的一些对搜索引擎做支持的jar)

1.2.2 solr 功能 

  • 保存数据 
  • 建立索引,维护索引 
  • 数据检索(全文搜索,高亮显示,精确搜索等) 

1.2.3 solr 依赖环境 

Ø Jdk  1.7+

Ø TOMCAT 7+

Ø solr 4.9.1 (选用较为稳定的版本)

1.2 solr 服务器搭建 

1.2.1 初始配置 solr 截止到文档编写前,solr目前的最新版本为7.3.0,我选用的solr是目前比较成

熟稳定的版本solr 4.9.1 

1. 官网下载solr4.9.1的程序安装包。 

下载地址:点击下载点击打开链接 


如下图所示,下载我们所需要的zip包


2.解压solrzip包,目录如下 


3.dist文件夹下的solr-4.9.1.war文件复制到tomcatwebapps目录下,并将文件命名为solr.war 



4.复制 solr解压包下example\lib\ext 下所有的jar tomcat lib目录下 



5. 在计算机本地(在D盘F盘任意盘符下面都可以)新建一个文件夹solr_home(当然你可以随便起名字), 然后复制

solr-4.9.1\example\solr 下的所有文件到 solr_home文件夹 



6.启动tomcat,待tomcat启动成功后,关闭tomcat。打开tomcatwebapps目录。注意,此时solrwar包以及被解压成solr文件夹。删除tomcat webapps目录下的solrwar包,保留solr文件夹。

7.修改配置文件 apache-tomcat-8.0.50\webapps\solr\WEB-INF\web.xml 

 
    solr/home  
     F:/solr_home 
    java.lang.String 

8.访问solr(http://localhost:端口号/solr/),如出现以下界面则solr部署成功。(端口号是写tomcat的端口号)


1.2.2 新建数据配置 core

1.新建core(solr中把配置的每一个模块都叫core),在solr_home目录下,拷贝collection1文件夹,并起名为test。打开test文件夹,修改core.properties文件,将name修改为test 


1.重新启动tomcat,并访问solr,如出现以下界面,则表示新建test core成功。


1.2.3 新增数据库配置 

到目前为止,我们已经完成了solr的基础配置,并且创建了test core,接下来我们需要把数据的数据和搜索引擎连接起来,让搜索引擎可以读取数据库的数据。

1. 拷贝数据库连接jar包(mysql-connector-java-5.1.18.jar)到tomcat的webapps的solr的WEB-INF的lib目录


2. 以创建test core的方式新建hotel core

3. 打开hotel的conf文件夹中的solrconfig.xml文件,在requestHandler name="/select" class="solr.SearchHandler">前面上加上一个处理dataimport的Handler 


4. 在hotel的conf文件夹下并新建data-config.xml文件配置如下:
表示从数据库中查询数据放到solr容器中
 
 
 
     
     
     
     
     
     
     
 

Ø dataSource是数据库数据源。 

Ø Entity就是一张表对应的实体,pk是主键,query是查询语句。

Ø Field对应一个字段,column是数据库里的column名,后面的name属性对应着Solr的Filed 的名字。 

5. 打开hotel的conf目录下的schema.xml文件,修改这个文件(schema.xml 是solr对数据库里的数据进行索引管理和数据字段展示管理的配置文件)

  (1)先把我们要保留的的东西找出来,把要保留的东西的放到最上面,删掉一些不必要的注释,这样看起来清爽一点,

下图的三个东西是我们需要保留的,除这三个之外,还要保留fieldType标签后面所有的东西,其它的就全部删掉。



  (2) 添加索引字段:这里每个field的name属性值要和我们上面配置data-config.xml里的entity的field的name一样, 对应。

 
 
 

6. 将导入数据的JAR包拷贝到webapps/solr的lib目录下 

7.启动Tomcat,执行数据导入


8. 查询数据


到目前为止,我们已经将数据库的数据导入到 solr当中了,并且已经查询成功。 












推荐阅读
author-avatar
徐刚珠宝银饰_737
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有