solr in Action 汉语2.0 了解Solr

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页