Solr搜索引擎服务器学习笔记

Solr简介

  • 采用Java5开发,基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎

  • Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-serviceAPI接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http GSolret操作提出查找请求,并得到XML格式的返回结果

Solrlucene关系

  • Lucene是一套信息检索工具包,但并不包含搜索引擎系统,它包含了索引结构、读写索引工具、相关性工具、排序等功能,因此在使用Lucene时你仍需要关注搜索引擎系统,例如数据获取、解析、分词等方面的东西

  • 首先Solr是基于Lucene做的,Solr的目标是打造一款企业级的搜索引擎系统,因此它更接近于我们认识到的搜索引擎系统,它是一个搜索引擎服务,通过各种API可以让你的应用使用搜索服务,而不需要将搜索逻辑耦合在应用中。而且Solr可以根据配置文件定义数据解析的方式,更像是一个搜索框架,它也支持主从、热换库等操作。还添加了高亮、facet等搜索引擎常见功能的支持

Solr的搭建与运行

  • 解压solr-4.6.0.zip到你想到存放的路径,比如:e:/solr

  • cmd打开命令行窗口,进入E:/solr/example目录

  • 执行命令:java -jar start.jar

  • 通过第三步以后,系统会启动solr自带的jetty服务器,通过http://localhost:8983/solr/便可访问solr

  • 此时,solr已成功启动


 

界面如上所示。

Solr技术路线图

 


 

Solr图形化管理界面

菜单

 

Core Admin

 

搜索功能

当点击搜索区域

 

会出现如下的列表

 

增加document

点击上图的Documents,可以看到

 

编写一个json格式的对象:


 

显示:

 

成功生成了一个document对象

搜索

 

打开界面:

 

执行

 

Xmlsolr

Xml文件的导入

当执行如下的操作的时候

 


可以把hd.xml文件中的内容创建Document对象,引入到solr中。

Xml文件的查询

hd.xml文件的部分内容

 

查询到的内容:

 

浏览器的查询

 

 

Solrj

Schema

solr中很重要的一个配置文件

路径

 



元素

Field

 

说明

      • 为字段

      • Name为字段的名称

      • Type为字段的类型

      • Indexed是否为该字段建立索引

      • Stored是否存储该字段

      • Required是否是必须的

dynamicField

<dynamicField name="*_s" type="string" indexed="true" stored="true"/>

说明:

          • 为动态属性

          • Name=”*_i”*可以代表任何字母

doc.addField("namessss_s", "赵栋");这个是可以匹配的

uniqueKey

<uniqueKey>id</uniqueKey>

说明

表示唯一的一个document的标示是id

Solr与数据库

Select

collection1/config/solrconfig.xml文件中,有一个配置

 

所有的查询是由SearchHandler处理的。

 Update

 

Dataimport

当打开solr的管理界面时

 

 

点击上图的Dataimport,这个时候,浏览器的地址是

 

会请求一个dataimport的域,但是提示结果为:

 

说明没有dataimport-handler定义。


解决方案:

1、修改solrconfig.xml文件,添加如下的代码:

 

2、在

目录下,copy如下的jar包和数据库驱动的jar包,加入到solr工程中

 

工程的结构为:

 

 

3、创建data-config.xml文件,放入到config目录下

<?xml version="1.0" encoding="UTF-8" ?>

<dataConfig>

<dataSource type="JdbcDataSource"

driver="com.mysql.jdbc.Driver"

url="jdbc:mysql://localhost:3306/itheima09_solr"

user="root"

password="root"/>

<document>

<entity name="id" query="select id,name,manu from solr"></entity>

</document>

</dataConfig>
View Code

4、重新启动solr服务器

5、打开浏览器界面,点击dataimport

 

执行完成以后,数据库的表的数据就被导入到了索引库中。


猜你喜欢

转载自www.cnblogs.com/biaogejiushibiao/p/10322392.html
今日推荐