服务器搭建solr,
Solr和Lucene的区别
Lucene是一个开放源代码的全文检索引擎工具包,它不是一个完整的全文检索应用。Lucene仅提供了完整的查询引擎和索引引擎,目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者以Lucene为基础构建全文检索应用。
Solr的目标是打造一款企业级的搜索引擎系统,它是基于Lucene一个搜索引擎服务,可以独立运行,通过Solr可以非常快速的构建企业的搜索引擎,通过Solr也可以高效的完成站内搜索功能。
一. 运行环境
二. 解压solr
- bin:solr的运行脚本 contrib:solr的一些扩展jar包,用于增强solr的功能。
- dist:该目录包含build过程中产生的war和jar文件,以及相关的依赖文件。
- docs:solr的API文档
- server:solr工程的例子目录:
- server/solr: 该目录是一个标准的SolrHome,它包含一个默认的SolrCore
- server/multicore:该目录包含了在Solr的multicore中设置的多个Core目录。
- server/webapps: 该目录中包括一个solr.war,该war可作为solr的运行实例工程。
- licenses:solr相关的一些许可信息
三. 配置SolrHome
SolrHome是Solr运行的主目录,该目录中包括了多个SolrCore目录。SolrCore目录中包含了运行Solr实例所有的配置文件和数据文件,Solr实例就是SolrCore。
一个SolrHome可以包括多个SolrCore(Solr实例),每个SolrCore提供单独的搜索和索引服务。
四. 配置SolrCore
将
C:\study\solrhome\configsets\下的sample_techproducts_configs拷贝到solrhome下,并改名为collection1.
- 在conf文件夹下有一个solrconfig.xml。这个文件是来配置SolrCore实例的相关信息。如果使用默认配置可以不用做任何修改。它里面包含了不少标签,但是我们关注的标签为:lib标签、datadir标签、requestHandler标签。
- lib标签:在solrconfig.xml中可以加载一些扩展的jar,solr.install.dir表示solrCore的目录位置,需要如下修改:所有lib标签中去掉一个
../ - 然后将contrib和dist两个目录拷贝到
C:\study下 - datadir标签:每个SolrCore都有自己的索引文件目录 ,默认在SolrCore目录下的data中,ata数据目录下包括了index索引目录 和tlog日志文件目录。如果不想使用默认的目录也可以通过solrConfig.xml更改索引目录 ,如下:
<dataDir>${solr.data.dir:C:\study\solrhome\collection1}</dataDir> - requestHandler标签:requestHandler请求处理器,定义了索引和搜索的访问方式。通过/update维护索引,可以完成索引的添加、修改、删除操作。
<requestHandler name="/select" class="solr.SearchHandler">
四. Solr工程部署
- 将
solr-webapp下sorl复制到tomcat下的webapp下 - 添加solr服务的扩展依赖包(日志包):把solr解压包下的solr-7.1.0\server\lib\ext目录下的所有jar包拷贝,复制到solr工程的
WEB-INF\lib目录下 - 添加log4j.properties:把solr解压包下
solr-7.1.0\server\resources\log4j.properties文件进行拷贝、在solr工程中的WEB-INF目录中创建classes文件夹、复制log4j.properties文件到刚创建的classes目录 - 在solr应用的
web.xml文件中,加载SolrHome:修改web.xml使用jndi的方式告诉solr服务器。Solr/home名称必须是固定的。 <env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>C:\study\solrhome</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>- 启动tomcat进行访问
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。