设为首页 收藏本站
查看: 1185|回复: 0

[经验分享] Solr 6.6环境搭建与Solr定义(一)

[复制链接]

尚未签到

发表于 2017-12-18 21:20:09 | 显示全部楼层 |阅读模式
Solr6.6理解和环境搭建

前言

为什么要引入Solr,它到底有什么优势。假想有这样一种情况,当我们在oracle去查询一些东西,无非是使用like或者join(当查询条件多,涉及的多表的话)这几种操作。当数据量大的时候,很难相信在大型数据库上去执行高速的查询,有以下两点原因:一是,数据库本身在性能上缺乏亮点,所以我们总提性能。二是,松散的文本,查询的话基本都是基于like,而join和like是数据库的性能杀手,与最求高效快速的理念相违背。所以我们需要一种和sql完全不同的数据检索方式,由此引出了solr。



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

Solr是一个基于Lucene的Java搜索引擎服务器。Solr 提供了层面搜索、命中醒目显示并且支持多种输出格式(包括 XML/XSLT 和 JSON 格式)。它易于安装和配置,而且附带了一个基于 HTTP 的管理界面。Solr已经在众多大型的网站中使用,较为成熟和稳定。Solr 包装并扩展了 Lucene,所以Solr的基本上沿用了Lucene的相关术语。更重要的是,Solr 创建的索引与 Lucene 搜索引擎库完全兼容。通过对Solr 进行适当的配置,某些情况下可能需要进行编码,Solr 可以阅读和使用构建到其他 Lucene 应用程序中的索引。此外,很多 Lucene 工具(如Nutch、 Luke)也可以使用Solr 创建的索引。

简单来说:solr就是一个开源的搜索引擎框架。




  • 2.        原理:
Solr对外提供标准的http接口来实现对数据的索引的增加、删除、查询。在 Solr 中,用户通过向部署在servlet 容器中的 Solr Web 应用程序发送 HTTP 请求来启动索引和搜索。Solr 接受请求,确定要使用的适当SolrRequestHandler,然后处理请求。通过 HTTP 以同样的方式返回响应。默认配置返回Solr 的标准 XML 响应,也可以配置Solr 的备用响应格式。

  
可以向 Solr 索引
servlet 传递四个不同的索引请求:
  
add/update 允许向 Solr 添加文档或更新文档。直到提交后才能搜索到这些添加和更新。
  
commit 告诉 Solr,提交后就可以搜索到。
  
optimize 重构 Lucene 的文件以改进搜索性能。索引完成后执行一下优化通常比较好。如果更新比较频繁,则应该在使用率较低的时候安排优化。一个索引无需优化也可以正常地运行。优化是一个耗时较多的过程。(官方:执行明确的优化,导致所有段的合并到一个。)

  
delete 可以通过>
也就是说:solr可以对数据进行增加、删除、查询。




  • 3.      
    搭建solr环境条件
                        JDK:jdk1.8.0

                       开发环境:eclipse4.7

                       运行环境:apache-tomcat-8.0.32

                       Solr:solr-6.6.0




  • 4.      
    搭建solr
解压solr-6.6.0,打开解压的目录:

DSC0000.png

binSolr的脚本启动工具目录。

contrib放关于solr的扩展。

dist在这里能找到Solr的核心JAR包和扩展JAR包。当我们试图把Solr嵌入到某个应用程序的时候会用到核心JAR包。

distàsolrj-lib包含构建基于Solr的客户端时会用到的JAR包。

distàtest-framework包含测试Solr时候会用到的JAR包。

docs该文件夹里面存放的是Solr文档,离线的静态HTML文件,还有API的描述。

example包含Solr的简单示例。

licenses各种许可和协。

server在本地把Solr作为服务运行的必要文件都存放在这里。




  • 5.      
    部署属于自己的Solr
a)        
solr-6.6.0\server\solr-webapp下的webapp复制到tomcatwebapps目录下,并改名为solr(名字可以改成其他)

DSC0001.png


b)        
solr-6.6.0\server\lib\extjar包复制到apache-tomcat-8.0.32\webapps\solr\WEB-INF\lib目录下

solr-6.6.0\dist下的solr-dataimporthandler-6.6.0.jarsolr-dataimporthandler-extras-6.6.0.jar复制到apache-tomcat-8.0.32\webapps\solr\WEB-INF\lib目录下

solr-6.6.0\server\lib下的以metrics开头的5jar包复制到apache-tomcat-8.0.32\webapps\solr\WEB-INF\lib目录下,这三步的目标路径都是一样的。

如下图:

DSC0002.png

DSC0003.png

DSC0004.png

c)         
接下来创建存放core的目录,我选择的是E盘创建,tomcat是在D盘,在E盘创建solrhome文件夹,将solr-6.6.0\server\solr下的所有文件复制到E:\solrhome。如下图:

DSC0005.png

d)        
tomcat下的solr里的配置文件来指定我创建的存储core的目录。

打开apache-tomcat-8.0.32\webapps\solr\WEB-INF下的web.xml,定位到40行,将下面一段注解打开,并修改<env-entry-value>值为E:/solrhome

并把168行以及以下的注解掉,为什么要注解掉呢?这是一段权限代码,也就是你在浏览器打开solr,其他人也可以登录,并对core进行优化,占用和消耗资源,从而在打开solr时进行账号密码登录,这里我就全部注解掉。如下图:


DSC0006.png

DSC0007.png

  

注解掉  

<!-- Get rid of error message -->  <!--<security-constraint>
  <web-resource-collection>
  <web-resource-name>Disable TRACE</web-resource-name>
  <url-pattern>/</url-pattern>
  <http-method>TRACE</http-method>
  </web-resource-collection>
  <auth-constraint/>
  </security-constraint>
  <security-constraint>
  <web-resource-collection>
  <web-resource-name>Enable everything but TRACE</web-resource-name>
  <url-pattern>/</url-pattern>
  <http-method-omission>TRACE</http-method-omission>
  </web-resource-collection>
  </security-constraint>-->
  

e)        
apache-tomcat-8.0.32\webapps\solr\WEB-INF目录下创建classes文件夹,并将solr-6.6.0\server\resources下的log4j.properties复制过去,如下图:

DSC0008.png

DSC0009.png

f)         
环境搭建完成,启动tomcat,访问localhost:8080/solr/index.html,成功访问。

DSC00010.png

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-425510-1-1.html 上篇帖子: solr全量索引 下篇帖子: Solr集群安装
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表