solr入门指南.docx

上传人:b****5 文档编号:7822093 上传时间:2023-01-26 格式:DOCX 页数:12 大小:25.23KB
下载 相关 举报
solr入门指南.docx_第1页
第1页 / 共12页
solr入门指南.docx_第2页
第2页 / 共12页
solr入门指南.docx_第3页
第3页 / 共12页
solr入门指南.docx_第4页
第4页 / 共12页
solr入门指南.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

solr入门指南.docx

《solr入门指南.docx》由会员分享,可在线阅读,更多相关《solr入门指南.docx(12页珍藏版)》请在冰豆网上搜索。

solr入门指南.docx

solr入门指南

企业级搜索引擎Solr使用入门指南

http:

//wiki.apache.org/solr/FrontPage

本文转自

 

由于搜索引擎功能在门户社区中对提高用户体验有着重在门户社区中涉及大量需要搜索引擎的功能需求,目前在实现搜索引擎的方案上有集中方案可供选择:

1.基于Lucene自己进行封装实现站内搜索。

工作量及扩展性都较大,不采用。

2.调用Google、Baidu的API实现站内搜索。

同第三方搜索引擎绑定太死,无法满足后期业务扩展需要,暂时不采用。

3.基于Compass+Lucene实现站内搜索。

适合于对数据库驱动的应用数据进行索引,尤其是替代传统的like‘%expression%’来实现对varchar或clob等字段的索引,对于实现站内搜索是一种值得采纳的方案。

但在分布式处理、接口封装上尚需要自己进行一定程度的封装,暂时不采用。

4.基于Solr实现站内搜索。

封装及扩展性较好,提供了较为完备的解决方案,因此在门户社区中采用此方案,后期加入Compass方案。

 

1、Solr简介

Solr是一个基于Lucene的Java搜索引擎服务器。

Solr提供了层面搜索、命中醒目显示并且支持多种输出格式(包括XML/XSLT和JSON格式)。

它易于安装和配置,而且附带了一个基于HTTP的管理界面。

Solr已经在众多大型的网站中使用,较为成熟和稳定。

Solr包装并扩展了Lucene,所以Solr的基本上沿用了Lucene的相关术语。

更重要的是,Solr创建的索引与Lucene搜索引擎库完全兼容。

通过对Solr进行适当的配置,某些情况下可能需要进行编码,Solr可以阅读和使用构建到其他Lucene应用程序中的索引。

此外,很多Lucene工具(如Nutch、Luke)也可以使用Solr创建的索引。

2、Tomcat下Solr安装配置

由于Solr基于java开发,因此Solr在windows及Linux都能较好部署使用,但由于Solr提供了一些用于测试及管理、维护较为方便的shell脚本,因此在生产部署时候建议安装在Linux上,测试时候可以在windows使用。

 

下面以Linux下安装配置Solr进行说明,windows与此类似。

wget

unzipapache-tomcat-6.0.16.zip

mvapache-tomcat-6.0.16/opt/tomcat

chmod755/opt/tomcat/bin/*

wget

tarzxvfapache-solr-1.2.0.tgz

Solr的安装配置最为麻烦的是对solr.solr.home的理解和配置,主要有三种

 

基于当前路径的方式

cpapache-solr-1.2.0/dist/apache-solr-1.2.0.war/opt/tomcat/webapps/solr.war

mkdir/opt/solr-tomcat

cp-rapache-solr-1.2.0/example/solr//opt/solr-tomcat/

cd/opt/solr-tomcat

/opt/tomcat/bin/startup.sh

由于在此种情况下(没有设定solr.solr.home环境变量或JNDI的情况下),Solr查找./solr,因此在启动时候需要切换到/opt/solr-tomcat

 

基于环境变量solr.solr.home

在当前用户的环境变量中(.bash_profile)或在/opt/tomcat/catalina.sh中添加如下环境变量

exportJAVA_OPTS="$JAVA_OPTS-Dsolr.solr.home=/opt/solr-tomcat/solr"

基于JNDI配置

mkdir–p/opt/tomcat/conf/Catalina/localhost

touch/opt/tomcat/conf/Catalina/localhost/solr.xml,内容如下:

 

Xml代码

1.  

2.    

3.  

 

访问solr管理界面http:

//ip:

port/solr

3、Solr原理

Solr对外提供标准的http接口来实现对数据的索引的增加、删除、修改、查询。

在Solr中,用户通过向部署在servlet容器中的SolrWeb应用程序发送HTTP请求来启动索引和搜索。

Solr接受请求,确定要使用的适当SolrRequestHandler,然后处理请求。

通过HTTP以同样的方式返回响应。

默认配置返回Solr的标准XML响应,也可以配置Solr的备用响应格式。

可以向Solr索引servlet传递四个不同的索引请求:

add/update允许向Solr添加文档或更新文档。

直到提交后才能搜索到这些添加和更新。

commit告诉Solr,应该使上次提交以来所做的所有更改都可以搜索到。

optimize重构Lucene的文件以改进搜索性能。

索引完成后执行一下优化通常比较好。

如果更新比较频繁,则应该在使用率较低的时候安排优化。

一个索引无需优化也可以正常地运行。

优化是一个耗时较多的过程。

delete可以通过id或查询来指定。

按id删除将删除具有指定id的文档;按查询删除将删除查询返回的所有文档。

一个典型的Add请求报文

Xml代码

1.  

2.    

3.    TWINX2048-3200PRO  

4.    CORSAIR  XMS 2GB (2 x 1GB) 184-Pin DDR SDRAM Unbuffered DDR 400 (PC 3200) Dual Channel Kit System Memory - Retail  

5.    Corsair Microsystems Inc.  

6.    electronics  

7.    memory  

8.    CAS latency 2, 2-3-3-6 timing, 2.75v, unbuffered, heat-spreader  

9.    185  

10.    5  

11.    true  

12.    

13.    

14.    VS1GB400C3  

15.    CORSAIR ValueSelect 1GB 184-Pin DDR SDRAM Unbuffered DDR 400 (PC 3200) System Memory - Retail  

16.    Corsair Microsystems Inc.  

17.    electronics  

18.    memory  

19.    74.99  

20.    7  

21.    true  

22.    

23.  

TWINX2048-3200PRO

CORSAIRXMS2GB(2x1GB)184-PinDDRSDRAMUnbufferedDDR400(PC3200)DualChannelKitSystemMemory-Retail

CorsairMicrosystemsInc.

electronics

memory

CASlatency2,2-3-3-6timing,2.75v,unbuffered,heat-spreader

185

5

true

VS1GB400C3

CORSAIRValueSelect1GB184-PinDDRSDRAMUnbufferedDDR400(PC3200)SystemMemory-Retail

CorsairMicrosystemsInc.

electronics

memory

74.99

7

true

 

一个典型的搜索结果报文:

Xml代码

1.  

2.      

3.        0  

4.        6  

5.          

6.            10  

7.            0  

8.            *,score  

9.            true  

10.            content:

"faceted browsing"  

11.          

12.      

13.  

14.      

15.          

16.            1.058217  

17.              

18.                http:

//localhost/myBlog/solr-rocks-again.html  

19.                Solr is Great  

20.                solr,lucene,enterprise,search,greatness  

21.                Solr has some really great features, like faceted browsing and replication  

22.              

23.              

24.                Solr has some really great features, like faceted browsing and replication  

25.              

26.            2007-01-07T05:

04:

00.000Z  

27.              

28.                solr,lucene,enterprise,search,greatness  

29.              

30.            8  

31.            Solr is Great  

32.            http:

//localhost/myBlog/solr-rocks-again.html  

33.          

34.      

35.  

36.      

37.        

//localhost/myBlog/solr-rocks-again.html">  

38.              

39.                Solr has some really great features, like faceted  

40.                browsing and replication  

41.              

42.          

43.      

44.  

0

6

10

0

*,score

true

content:

"facetedbrowsing"

1.058217

http:

//localhost/myBlog/solr-rocks-again.html

SolrisGreat

solr,lucene,enterprise,search,greatness

Solrhassomereallygreatfeatures,likefacetedbrowsingandreplication

Solrhassomereallygreatfeatures,likefacetedbrowsingandreplication

2007-01-07T05:

04:

00.000Z

solr,lucene,enterprise,search,greatness

8

SolrisGreat

http:

//localhost/myBlog/solr-rocks-again.html

//localhost/myBlog/solr-rocks-again.html">

Solrhassomereallygreatfeatures,likefaceted

browsingandreplication

 

关于solr的详细使用说明,请参考

http:

//wiki.apache.org/solr/FrontPage

4、Solr测试使用

Solr的安装包包含了相关的测试样例,路径在apache-solr-1.2.0/example/exampledocs

1.使用shell脚本(curl)测试Solr的操作:

cdapache-solr-1.2.0/example/exampledocs

vipost.sh,根据tomcat的ip、port修改URL变量的值URL=http:

//localhost:

8080/solr/update

./post.sh*.xml                #

2.使用Solr的java包测试Solr的操作:

查看帮助:

java-jarpost.jar–help

提交测试数据:

java-Durl=http:

//localhost:

8080/solr/update-Ddata=files-jarpost.jar *.xml     

下面以增加索引字段liangchuan、url为例,说明一下Solr中索引命令的使用

1)修改solr的schema,配置需要索引字段的说明:

vi/opt/solr-tomcat/solr/conf/schema.xml,在中增加如下内容

Xml代码

1.  

2.  

2)创建增加索引请求的xml测试文件

touch/root/apache-solr-1.2.0/example/exampledocs/liangchuan.xml,内容如下:

Xml代码

1.  

2.    

3.    liangchuan000  

4.    Solr, the Enterprise Search Server  

5.    Apache Software Foundation  

6.    liangchuan's solr 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1