Solr技术分析和运用(一)搭建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 

<env-entry> 
    <env-entry-name>solr/home</env-entry-name>  
    <env-entry-value> F:/solr_home</env-entry-value> 
    <env-entry-type>java.lang.String</env-entry-type> 
</env-entry>

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容器中
<?xml version="1.0" encoding="UTF-8"?> 
<dataConfig> 
<dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://127.0.0.1:3306/itripdb" user="root" password="root" /> 
    <document name="hotel_doc"> 
    <entity name="hotel" pk="id"  query=" select id,hotelName,address from itrip_hotel"> 
    <field column="id" name="id"/> 
    <field column="hotelName" name="hotelName"/> 
    <field column="address" name="address"/> 
    </entity> 
    </document> 
</dataConfig> 

Ø 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一样, 对应。

<field name="id" type="string" indexed="true" stored="true"/> 
<field name="hotelName" type="string" indexed="true" stored="true"/> 
<field name="address" type="string" indexed="true" stored="true"/> 

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

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


8. 查询数据


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











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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值