hello 大家好:
我是1987 今天我给大家带来solr 收索引擎,这些都是我平时的总结,希望对大家有用。
首先简单介绍下:Lucene
1、什么是lucene:全文检索工具包
2、Lucene的工作原理:
从原始文件中提取一些可以用来搜索的数据(封装成各种Field),把各field再封装成document,然后对document进行分析(对各字段分词),得到一些索引目录写入索引库,document本身也会被写入一个文档信息库;
3、建索引:构建一个indexwriter,将document写入索引库
4、查询:构建一个indexsearcher,构造一个查询条件query,去索引库查询符合条件的文档id,然后再根据id去文档信息库获取文档的各字段的内容
5、应用场景:做站内搜索
进入主题:solr
1、什么是solr
Solr是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器。Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展,并对索引、搜索性能进行了优化。
Solr可以独立运行,运行在Jetty、Tomcat等这些Servlet容器中,Solr索引的实现方法很简单,用POST方法向Solr服务器发送一个描述Field及其内容的XML文档,Solr根据xml文档添加、删除、更新索引 。Solr搜索只需要发送HTTP GET请求,然后对Solr返回Xml、json等格式的查询结果进行解析,组织页面布局。Solr不提供构建UI的功能,Solr提供了一个管理界面,通过管理界面可以查询Solr的配置和运行情况。
2、Solr的下载
3、Solr的安装及配置
安装solr,就是去部署它的war包,war包所在的位置如图:
4、Solr集成tomcat
第一步:安装tomcat,建议安装一个全新的tomcat。
第二步:把solr的war包\solr-4.10.3\dist\solr-4.10.3.war复制到webapps下,改名为solr.war,改名不是必须的,为了方便访问。
第三步:解压solr.war。启动tomcat会自动解压。也可以使用解压缩软件。
第四步:把\solr-4.10.3\example\lib\ext目录下所有的jar包添加到webapps中解压好的solr工程中webapps\solr\WEB-INF\lib下
第五步:创建一个solrhome(就是solr所有配置文件存放的目录)solr-4.10.3\example\solr文件夹就是一个标准的solrhome,可以直接使用。把solr文件夹复制到D:\temp\heima16下,改名为solrhome。
了解solrhome:
1、collection1:是一个solrcore,一个solrcore就是一个索引库。一个solr服务器上可以有多solrcore。每个索引库之间是相互独立的。
2、\solrhome\collection1\conf:是存放每个solrcore的个性配置。
3、Solrconfig.xml
a)luceneMatchVersion:匹配lucene的版本信息
b)Lib:solrcore扩展使用的jar包。默认值是collection1\lib,如果没有此文件夹就创建一个。
c)dataDir:索引库存放的目录。默认是collection1\data文件夹。如果没有solr会自动创建。如果想修改为其他位置,需要配置此节点。
d)requestHandler:配置solr对外提供服务的url
i.:查询索引库使用的url
ii.维护索引库使用的url
e)defaultQuery:管理页面默认的查询条件*:*
4、Core.properties:配置了solrcore的名字。
第六步:告诉solr工程solrhome的位置。修改solr/WEB-INF/web.xml文件。
第七步:启动tomcat
访问http://localhost:8080/solr