solr in Action 汉语2.0 了解Solr
这章主要内容有:
1.下载安装Solr4.7
2.启动solr服务器例子
3.排序,分页,结果格式化
4.探索solritas示例搜索界面
当你用新的技术,产生不安很自然。但是你可以放心使用solr,因为它被设计用来便于安装和使用,在敏捷开发下,你可以从基础到复杂逐步配置你的solr配置。例如,solr允许你将一个大索引拆成小碎片,被称为分片,并增加副本来增加你的服务的查询能力。但是你在一定规模之前不用担分区和复制。
到了本节的末尾,你就可以将solr运行在你的计算机上,知道怎么运行和停止solr服务器。知道你的web管理员控制台,有个基本的理解对于solr的感念比如solr home,core 和collection
叫什么名字?
你也许听说过solrCloud,而且很困惑solr4和solrCloud的区别。从技术上来说,SolrCloud是一个solr4的特性,
让分布式运行和配置更容易,是一个容错集群。
同时,solrcloud没有什么在云计算环境中运行Solr比如Amazon EC2,尽管你也可以在云计算环境运行solr。
我们推测“云”的名字的一部分反应了solrCloud的目标特性是服务的弹性扩展,和高可用性。我们将在第13节深入讲解。
让我们开始从apach官网下载solr,并安装到你电脑上
2.1 开始
当你了解solr之前,你得先把它运行到你本地计算机上,这里我们从Apache网站下载solr4.7。安装过后,我们向你展示怎么启动solr服务器例子,并且通过浏览器访问solr管理控制台。在这个过程中,我们假设你执行简单的命令行。solr没有图形安装界面。
2.1.1安装solr
安装solr有点用词不当,你全部要做的就只是下载包,解压包。在做之前,确保你已经安装jdk1.6以上的版本。
如果你没有安装jdk,赶紧去下载一个。
我们将在12章节讲解solr源码
在http://lucene.apache.org/solr 这个网址下载Solr。
下载好之后,把下载的文件移动到你计算机稳定的文件夹下。在windows,你应该把它放到c:\root 目录,在linux系统,放到\opt\solr\文件夹下。对于windows用户,我们强烈建议,solr所在的目录不要有空格。避免solr在这种个目录C:\Documents and Settings\ 或 C:\Program Files\。你可以选择不同的这,但由于Solr是基于Java的软件,包涵空格的路径或许会有问题。
不需要传统安装过程,Solr在一个单一的文件是独立的,你只需要解压就行了。当你解压这个文件,所有的文件都会放在solr-4.7.0/目录底下。
图2.1 ,solr目录结构
2.1.2启动solr服务器例子
打开命令行,敲入以下命令
cd $SOLR_INSTALL/ex ample
java -jar start.jar
$SOLR_INSTALL/只是一个别名,你安装到哪里就是哪里。
在初始化的时候,你可以观察一下控制台的log信息,你可以看到如下log信息
3504 [main] INFO org.eclipse.jetty.server.AbstractConnector – Started
SocketConnector@0.0.0.0:8983
发生了什么?
你可能想知道完成了什么。要弄清这个问题,你现在要运行solr4.7。你可以验证solr是否启动正确,访问下面这个地址http://localhost:8983/solr。图2.2是solr控制台的截屏,请花一分钟的时间去熟悉的布局和导航工具
图2.2 ....
在这个场景下,start.jar运行一个java web服务 叫jetty,监听8983端口,solr是运行在jetty上的一个web应用,图2.3 说明在你电脑上正在运行的是什么东西。
图 2.3 从系统的角度展示了Solr的Web应用程序的发布
故障排除
查看默认端口8983是否被另外一个进程占用,其他的没什么好说的
Jetty vs Tomcat
我们推荐一开始学习Solt的时候用jetty,如果你们的组织用Tomcat或者其他java web 程序。你可以发布war包文件.我们推荐你读第12章节去学习如果发布solrWar文件
solr用Jetty启动无需配置,但这不意味着生产环境用Jetty是一个坏的选择。
停止Solr
本地操作,你可以直接Ctrl -c结束进程。
现在我们已经有一个运行着的服务器,现在让我们花一会儿时间去看看solr的配置和它的索引存放地点,理解这个solr例子的配置,有助于你为你的应用配置solr服务器。
2.1.3 理解Solr home
在solr ,核心是一组配置文件,Lucene索引文件和solr的事物日志,一个solr运行可以运行多个核心,回顾第一部分,我们设计一个真正的房产搜索应用,一个房子核心和一个土地上市的核心,索引结构不同所以我们用了两个核心。
简单来说,solr同样使用term集合,在第13节我们讨论solrCloud的时候我们再讨论 core和collection的区别。
solr home是一个目录结构,封装了一个或多个核心。原来核心被配置文件solr.xml配置。但是在solr4.4,内核可以自动发现和不需要被定义在solr.xml。因此,你可以忽略solr.xml文件,它包含高级选项只适用于云模式运行Solr。Solr还提供了一个核心管理API,允许你去创建,更新删除以编程方式.我们将在12节详细讨论这个问题,
现在,最重要的是要理解每个Solr服务器都只有一个solr home目录,并且包涵所有cores,全局的java系统属性 solr.solr.home 设置了本地Solr目录 图 2.4 展示solr home下的目录列表
图2.4 默认的solr home 目录列表。它只有一个单一的核心叫collection1,配置在solr.xml中,这个collention1目录包涵核心配置文件,lucene索引,一个事物操作日志
我们学习更多关于Solr配置文件,名叫 solrconfig.xml在第4章节,同样,schema.xml 是主要的配置文件来管理索引结构,和文本分析,还有查询。在第5章详细讲解schema.xml 。
翻译到 58页