solr入门学习笔记1 --- solr的安装启动

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管理页面:

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刚两天,以上是个人的一些想法和总结,如有不对,敬请指正

平时没有总结的习惯,今天总结一下,发现问题不少:一些自以为理解的东西在描述的时候才发现并不是那么的清楚,而且如何将自己知道的东西准确讲述出来也是一个问题,今天这一点东西写了两个多小时。。。后面需要注意总结,希望能把写博客坚持下去

时间: 2024-10-04 16:42:08

solr入门学习笔记1 --- solr的安装启动的相关文章

Hadoop入门学习笔记---part1

随着毕业设计的进行,大学四年正式进入尾声.任你玩四年的大学的最后一次作业最后在激烈的选题中尘埃落定.无论选择了怎样的选题,无论最后的结果是怎样的,对于大学里面的这最后一份作业,也希望自己能够尽心尽力,好好做.正是因为选题和hadoop有关,现在正式开始学习hadoop.将笔记整理于此,希望与志同道合的朋友共同交流. 作者:itRed 邮箱:[email protected] 个人博客链接:http://www.cnblogs.com/itred 好了,废话不多说.进入正题!开始hadoop的学习

Python 实现 CNKI批量下载 和FireFox Extension 入门学习笔记

?                                 Python 实现 CNKI批量下载 和FireFox Extension 入门学习笔记? 由于需要也是为了督促自己学习新的东西,我原本想要尝试着写一个爬虫程序,能够在cnki上自动得将论文进行批量下载,学习过程中遇到了诸多情况,cnki也真是专业,不得不佩服cnki的强大. 下面进入正题: 学习.实验环境:ubuntu 14.04 工具:Eclipse ,  FireFox, FireBug,HttpFox 编程语言:pyth

汇编入门学习笔记 (四)—— [BX] 和 loop指令

疯狂的暑假学习之  汇编入门学习笔记 (四)-- [BX]  和 loop指令 参考:<汇编语言> 王爽 第5章 1.[BX] mov al,[1] 在debug中,会把bs:1 中数据赋给al,但在在masm中不会把bs:1 中数据赋给al,而是把 [1] 认为是 1 赋给al. 如果要实现在debug中的mov al,[1],在masm中就需要[bx] 如: mov bx,1 mov al,[bx] 还可以用 bs:[1] 的方式 如: mov al,bs:[1] 2.loop 循环 要使

汇编入门学习笔记 (十二)—— int指令、port

疯狂的暑假学习之  汇编入门学习笔记 (十二)--  int指令.port 參考: <汇编语言> 王爽 第13.14章 一.int指令 1. int指令引发的中断 int n指令,相当于引发一个n号中断. 运行过程相当于: (1)取中断类型吗n. (2)标志寄存器入栈:设置IF=0,TF=0. (3)CS.IP入栈 (4)(IP)=(n*4),(CS)=(n*4+2) 样例1:编写.安装中断7ch.实现求一个word型数据的平方,用ax存放这个数据. assume cs:code code s

JNI入门-学习笔记

JNI入门-学习笔记 可执行文件 Windows - *.exe | linux - *.elf c函数库文件 Windows - *.dll | linux - *.so 批处理文件 Windows - *.bat | linux - *.sh 工具 NDK -- native developer kits Cygwin -- Linux系统模拟器 安装过程要点: ——安装时可以联网安装也可以通过本地文件安装(如果有本地文件) ——Select Packages:没必要全部安装,安装Devel

android JNI入门-学习笔记

JNI入门-学习笔记 可执行文件 Windows - *.exe | linux - *.elf c函数库文件 Windows - *.dll | linux - *.so 批处理文件 Windows - *.bat | linux - *.sh 工具 NDK -- native developer kits Cygwin -- Linux系统模拟器 安装过程要点: --安装时可以联网安装也可以通过本地文件安装(如果有本地文件) --Select Packages:没必要全部安装,安装Devel

汇编入门学习笔记 (十二)—— int指令、端口

疯狂的暑假学习之  汇编入门学习笔记 (十二)--  int指令.端口 参考: <汇编语言> 王爽 第13.14章 一.int指令 1. int指令引发的中断 int n指令,相当于引发一个n号中断. 执行过程相当于: (1)取中断类型吗n. (2)标志寄存器入栈:设置IF=0,TF=0. (3)CS,IP入栈 (4)(IP)=(n*4),(CS)=(n*4+2) 例子1:编写.安装中断7ch,实现求一个word型数据的平方,用ax存放这个数据. assume cs:code code seg

马哥学习笔记七——LAMP编译安装之MYSQL

1.准备数据存放的文件系统 新建一个逻辑卷,并将其挂载至特定目录即可.这里不再给出过程. 这里假设其逻辑卷的挂载目录为/mydata,而后需要创建/mydata/data目录做为mysql数据的存放目录. 2.新建用户以安全方式运行进程: # groupadd -r mysql # useradd -g mysql -r -s /sbin/nologin -M -d /mydata/data mysql # chown -R mysql:mysql /mydata/data 3.安装并初始化my

MongoDB学习笔记(一:安装时出现The default storage engine &#39;wiredTiger&#39; is not available问题解决)

今晚在自己老式笔记本来试了一下MongoDB的安装,由于配置比较低,只能选择32位版本的MongoDB进行安装,在安装过程中碰到了上述标题所示错误,自己也捣鼓了一个小时左右,终于在一篇博客中找到答案,具体原文链接如下:http://blog.csdn.net/u013457382/article/details/50775268 MongoDB学习笔记(一:安装时出现The default storage engine 'wiredTiger' is not available问题解决)