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

[经验分享] solr入门学习笔记1

[复制链接]

尚未签到

发表于 2015-7-18 10:36:01 | 显示全部楼层 |阅读模式
  solr是apache一个基于lucene开发的的完整搜索引擎解决方案。lucene只提供了建立索引和搜索的API接口,相当于一个内核,没有提供实际可用的将外部数据转化为lucene索引的方案或接口。而solr则提供了这样的一个功能,用户只需做简单的配置,即可将外部数据如数据库、office文档、PDF、页面文件等转化为索引文件,然后就可以基于这些数据和solar封闭的查询接口进行数据搜索。
  solr使用HTTP的方式外外部程序进行交互。即用户做好配置之后,将之发布为一个web服务,其它程序可以以HTTP的形式调用solr发布的服务,下发诸如更新索引、查询XXX关键字等的指令,solr以xml、json、csv等格式将查询的结果返回给调用者。
  solr发布的服务相当于一个Web应用,该应用可以包含若干个数据处理模块,每个模块有自己的索引数据,完成各自的对外部数据进行索引和搜索的功能。这样的每一个模块称之为一个core,对solr而言,每个core是独立的,是互不影响的。而整个solr服务发布的过程其实就是web容器加载solar应用+solr应用加载各个core的过程。
  整个web服务发布过程solr已经控制好了,以solr-4.7.0版本为例,solr在example目录下提供了一个start.jar,该jar会在加载时会先找到JVM参数solr.solr.home对应的目录,如果环境变量不存在,则找start.jar所在的目录下的solr,遍历该目录下的直接子目录,找出含有core.properties文件的子目录,该子目录会被作为是一个core加载至solr的Web应用中。环境变量solr.solr.home对应的目录称之为SOLR_HOME,在solr较早的版本中,对core的识别是通过SOLR_HOME目录下的solr.xml配置的,在4.7.0版本中不需要该文件。
  solr的example目录中自带了一个叫做collection1的的core,这里总结一下将core发布成其它名字的步骤(solr支持在tomcat等其它容器中发布,此处只总结使用solr自带的jetty发布的方法):
      1.复制solr解压目录后的example目录,重命名为其它名字,如MySolr;
      2.删除MySolr目录下的无用目录,如example-DIH、exampledocs等,当然也可以不删;
      3.进入MySolr/solr目录,将collection1目录重命名为其它名字,如CoreTest;
      4.编辑MySolr/solr/CoreTest目录下的core.properties文件,该文件中目前只有一行:name=collection1,将collection1修改为你需要的core名字,如core1;
      5.命令行进入MySolr目录下,执行java -jar start.jar启动solr服务。当然也可以将MySolr/solr目录拷贝至其它目录如C:\,然后执行java -Dsolr.solr.home=C:\solr -jar start.jar.
  
      服务启动成功后,浏览器输入localhost:8983/solr即可打开solr管理页面: DSC0000.png
  core目录中的core.properties除了name属性外,还可以配置一些其它属性,各属性作用如下:
            name: core的名字,必需
            config: core配置文件存放路径,默认为conf\solrconfig.xml
            dataDir: 存放索引及updatelog的目录,默认为data
            ulogDir: 存放updatelog的目录,默认为data\tlog
            schema: 用于配置core的索引结构的配置文件,默认为conf/schema.xml
            loadOnStratup: 是否在solr启动时自动加载该core
            transient: 当solr的transientCacheSize达到设定值后该core是否可以被自动卸载
  学习solr刚两天,以上是个人的一些想法和总结,如有不对,敬请指正
  平时没有总结的习惯,今天总结一下,发现问题不少:一些自以为理解的东西在描述的时候才发现并不是那么的清楚,而且如何将自己知道的东西准确讲述出来也是一个问题,今天这一点东西写了两个多小时。。。后面需要注意总结,希望能把写博客坚持下去

运维网声明 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-87914-1-1.html 上篇帖子: CentOS下用Tomcat+Zookeeper+Nginx+Solr完美搭建SolrCloud平台(二) 下篇帖子: 1.4.2 solr字段类型--(1.4.2.6)使用外部文件和程序
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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