solr
一,知识点总结:
1,站内搜索的技术选型
1,使用Lucene来实现。需要大量编码,实现复杂,不推荐使用
2,借助搜索引擎实现站内搜索,缺点是索引库放在搜索引擎上,可控范围很小
3,使用solr实现,提供整套全文检索的解决方案,推荐使用
2,什么是solr
**(a)**solr是Apache下的一个开源项目,solr提供了比Lucene更为丰富的查询语言,同事实现了可配置,可扩展,并对索引,搜索性进行了优化
(b)*solr运行在Tomcat,Jetty容器中, (c)* Solr索引的实现方法,用POST方法向Solr服务器发送一个描述Field及其内容的xml文档,Solr根据xml文档进行增,删,该,查。**(d)**Solr搜索只需要发送HTTP GET 请求,然后对Solr返回xml,json等格式的查询结果进行解析,组织页面布局
Solr和Lucene的区别
lucene: 是一套全文检索的API
Solr:是一个全文检索的服务器,基于Lucene进行开发
3,solr的安装以及配置
3.1下载solr
从Solr官方网站(http://lucene.apache.org/solr/ )下载Solr4.10.3,根据Solr的运行环境,Linux下需要下载lucene-4.10.3.tgz,windows下需要下载lucene-4.10.3.zip。
Solr使用指南可参考:https://wiki.apache.org/solr/FrontPage
3.2:开发环境
Jdk1.7以上
Tomacat要求7.0以上
3.3:Solr集成Tomcat
步骤:
第一步:安装Tomcat,要求7.0以上。apache-tomcat-7.0.53
第二步:将dist目录下的solr-4.10.3包复制到Tomcat的webapp下。改名为solr.war
第三步:将solr.war解压
第四步:将example/lib/ext目录下的jar包复制到solr工程中
第五步:将example/resource/log4j.properties复制到solr的classpath下
第六步:需要创建一个solrhome.在example/solr文件夹就是一个标准的solrhome。把solr文件夹复制到d:/temp/1222目录下改名为solrhome(给名字不是必须的,便以理解)
Solrhome中存放的是solr的全部配置文件。
solrHome:是solr配置文件的根目录。
Sorlcore:每个solrcore都是一个独立的索引库,每个solrcore之间是相互隔离的。
可以对比mysql的数据库。
Solrcore\conf目录下的配置文件时针对于每个 solrcore(索引库)的配置。
第七步:配置solrconfig.xml(可以根据实际需要来进行配置,如果想使用默认配置可以不做任何修改)
luceneMatchVersion:solr对应的lucene版本
Lib:是solrcore需要使用到的扩展包,默认路径是collection1\lib
dataDir:索引库存放的位置。默认路径:collection1\data。如果没有solr会自动创建。
requestHandler:
是查询索引时使用到url地址。
<requestHandler name="/update" class="solr.UpdateRequestHandler">
是修改索引时使用到的url地址。
defaultQuery默认查询条件::
第八步:修改solr的web.xml
第九步:启动Tomcat
第十步:
访问solr的服务器地址http://localhost:8080/solr
4,使用solr维护索引
### (a)添加
(b) 删除
(c)修改
5,使用solr查询索引
6,solr的客户端SolrJ
(a) solrJ维护索引
### (b)SolrJ查询索引