solr in action翻译-第二章了解Solr2.1
转载请声明出处,谢谢。翻译也很辛苦
solr学习交流扣扣群340954928
本章涵盖了
•下载并安装Apache Solr 4.7
•启动Solr服务器示例
•排序、分页和格式化结果
•探索Solritas示例搜索UI
很自然的有一种不安,当你开始使用一个不熟悉的技术,但是你可以不用担心,因为它易于安装和设计
使用的。敏捷的精神,你可以从最基本的开始,逐步添加复杂性Solr配置。例如,Solr允许你大索引分成较小的子集,称为碎片,并将副本添加到增加服务查询的能力。但是你不需要担心索引分片或复制直到你遇到规模问题。
这一章底,你将在你的电脑上运行Solr,知道如何开始和停止Solr,知道你的基于web的管理控制台,并有一个基本的了解等关键术语Solr Solr,核心,集合。
你可能听说过SolrCloud和想知道Solr 4和SolrCloud之间的区别是什么。从技术上讲,SolrCloud是代号Solr 4特性的一个子集的更易于配置和运行一个可伸缩的、容错Solr服务器集群。认为SolrCloud来配置一个分布式安装Solr 4。
SolrCloud也没有与云计算运行Solr环境像Amazon EC2,尽管你可以在云中运行Solr。我们推测“云”的部分的名称反映了潜在目标SolrCloud特性集使弹性可伸缩性、高可用性和易用性的我们都期待
从云计算服务。我们在第13章介绍SolrCloud。
让我们开始从Apache下载Solr网站和安装它电脑。
2.1。开始
可以了解Solr之前,您必须在您的本地计算机上运行。这首先从Apache下载Solr 4.7的二进制发行版和提取下载的档案。一旦安装,我们将向您展示如何启动Solr的例子服务器,并验证它的运行Solr管理控制台访问你web浏览器。在这个过程中,我们假设你执行简单舒适您所选择的操作系统的从命令行执行命令。Solr没有GUI安装程序,但你很快就会看到,这个过程非常简单,你不需要一个。
2.1.1。安装Solr
安装Solr有点用词不当的,所有你需要做的就是下载二进制文件(分布。zip或. tgz)和提取。在你这样做之前,让我们确保你有必要前提Java 1.6或更高版本(也称为J2SE 6)安装。来验证你有正确的Java版本,在你的电脑上打开一个命令行并输入
java -version
您应当会看到类似于下面的输出:
java version "1.6.0_24"
Java™ SE Runtime Environment (build 1.6.0_24-b07)
Java HotSpot™ 64-Bit Server VM (build 19.1-b02, mixed mode)
如果你没有Java安装,我们建议您使用甲骨文的JVM
(www.oracle.com/technetwork/java/javase/downloads/index.html)。尽管Solr服务器需要Java,这并不意味着你必须使用Java应用程序中与Solr交互。客户端通过HTTP与Solr发生交互,所以您可以使用任何语言,提供了一个HTTP客户端库。此外,一些开源的客户端库可供Solr等流行的语言。NET、Python、Ruby、PHP和Java。
假设您已经安装了Java,您已经准备好安装Solr。Apache提供源代码Solr和二进制发行版;现在,我们将专注于使用二进制发行版安装步骤。我们在第十二章涵盖从源代码构建Solr。
下载最新版本的Solr,Solr主页在http://lucene.apache.org/solr并单击下载按钮上的Apache Solr正确的。这将直接你为Apache下载镜像站点。(这是明智的从镜像站点下载当前版本,避免重载主要Apache网站。)如果你在Windows上,下载solr-4.7.0.zip。如果你在Unix、Linux或Mac OS49
X,solr-4.7.0.tgz下载。本书中所有的例子将基于Solr 4.7.0,所以如果Solr 4.7.0不再是可以从主页下载,你想走例子当你阅读,那么你总是可以找到在Apache Solr 4.7.0软件在http://archive.apache.org/dist/lucene/solr/4.7.0/基础档案。
下载后,将在您的计算机上下载文件到一个永久的位置。在Windows上,您可以将其移动到C:\根目录,或者在Linux上,选择一个位置喜欢/ opt / solr /。对于Windows用户,我们强烈建议您提取Solr目录中没有空间名称;也就是说,避免提取Solr目录像C:\Documents and Settings\或C:\Program Files\.你的情况可能不同,但随着Solr是基于java的软件,你可能会遇到的问题是路径包含一个空格。
不需要正式的安装程序因为Solr是独立的在一个存档文件,所有的你需要做的是提取它。当你提取归档文件,所有文件将被创建在solr-4.7.0 /目录中。在Windows上,您可以使用内置的ZIP提取或支持
像WinZip的工具。在Unix、Linux、Mac运行tar zxf solr-4.7.0.tgz。这将创建目录结构如图2.1所示。
图2.1。提取后solr-4.7.0安装的目录清单你的电脑上下载档案。我们将参考顶级目录SOLR_INSTALL /在这本书的其余部分。
我们称$ SOLR_INSTALL为Solr存档(位置提取。zip或. tgz)在这本书的其余部分。我们使用这个名字,因为你看到不久,Solr家将是一个不同的道路,所以我们不想使用SOLR_HOME /的别名的顶级目录中提取Solr。现在,Solr安装,就可以开始。
2.1.2。启动Solr服务器示例
启动Solr,打开一个命令行,输入以下:
cd $SOLR_INSTALL/example
java -jar start.jar
记住SOLR_INSTALL /是我们正在使用的别名来表示你提取Solr下载存档的目录,如C:\ solr-4.7.0 \ Windows上。这就是所有的启动Solr。
在初始化期间,您将看到一些日志消息输出到控制台。如果一切顺利,您应该看到下面的日志消息达到或接近底部:
3504 [main] INFO org.eclipse.jetty.server.AbstractConnector – Started
[email protected]:8983
发生了什么事?
这是如此简单,你可能想知道什么是完成。很显然,你现在有一个版本的运行Solr 4.7在您的计算机上。您可以验证Solr开始正确引导你的web浏览器的Solr管理页面http://localhost:8983 / solr。图2.2是一个Solr管理控制台的截图;请花点时间来熟悉的布局和导航工具控制台。
图2.2。Solr 4.7管理控制台,它提供了一个丰富的处理你的新工具Solr实例。单击链接访问更多的工具,包括查询表单
在幕后,start.jar发起了一个名为Jetty的Java web服务器,监听端口8983。Solr是一个web应用程序运行在Jetty。图2.3说明了现在在你的电脑上运行。
图2.3。Solr从系统的角度展示了Solr的web应用程序(solr.war)运行在Jetty的Java。有一个Solr主目录设置/ Jetty服务器,使用Java系统属性solr.solr.home。Solr在Solr home可以托管多核每台服务器,每个核心(一个单独的目录示例,包含core-specific文物)包括配置和索引(数据)。
故障排除
没有多少可以启动示例服务器时出错。如果最常见的问题服务器没有启动正确是默认的8983端口已经被使用。如果是这种情况,您将看到一个错误,看起来就像java.net.BindException:地址已经在使用。这很容易解决通过改变Solr绑定到端口。改变你开始命令来指定一个不同的端口使用java绑定
使用这个命令-Djetty.port=8080 -jar start.jar ,端口将绑定到端口8080
Jetty和Tomcat
我们建议第一次学习时使用Jetty Solr。如果您的组织使用Tomcat或其他一些Java web应用程序服务器,如Resin,您可以部署Solrwar文件。因为我们了解Solr在这一章,我们将参考你第12章学习如何部署Solr WAR文件。
Solr使用Jetty使初始设置和配置过程显而易见的。但这并不意味着Jetty部署是一个糟糕的选择。如果您的组织已经有一个标准的Java web应用程序平台,Solr就会使用它。但是,如果你有一些选择,那么我们建议您尝试Jetty。它的快速、稳定、成熟和容易管理和定制。事实上,谷歌使用Jetty的应用Engine-see www.infoq.com/news/2009/08/google-chose-jetty/-which给大可信度Jetty作为一个坚实的平台运行Solr在即使是最苛刻的环境!
停止Solr
对于本地操作,可以在控制台窗口中按ctrl - c杀死Solr服务器,你开始Solr。通常,这是开发和测试足够安全。jetty并提供了一种安全的机制停止服务器,将讨论在第12章。
现在,我们已经创建了一个运行着的服务器,让我们花一分钟了解Solr的配置信息地方和管理其Lucene索引。了解服务器你启动配置的例子将帮助你当你准备开始为应用程序配置一个Solr服务器。
2.1.3。理解Solr home
在Solr的核心由一组配置文件,Lucene索引文件,Solr事务日志。一个Solr服务器运行在Jetty可托管多个核心。回想一下,在第一章中,我们设计了一个房地产搜索应用程序,对房屋和一个核心单独的核心土地上市。我们使用两个独立的内核,因为索引数据不同的足以证明有两个不同的索引结构。你开始2.1.2节中Solr示例服务器只有一个核心命名collections。
作为一个短暂的一边,Solr还使用term collections,唯一有意义的上下文Solr集群的单一索引分布在多个服务器。因此,我们觉得更容易专注于理解Solr的核心是什么。我们将在第13章我们讨论SolrCloud。核心和collection的区别
Solr home是一个封装了一个或多个核心core的目录结构,在历史上通过一个配置文件配置solr.xml。但随着Solr 4.4的发布,核core可autodiscovered solr.xml和不需要定义。因此,您可以忽略solr。示例服务器提供的xml文件,因为它包含先进选项只适用于Solr在云模式下运行。Solr还提供了一个核心管理API,允许您创建、更新和删除核心编程方式从你应用程序。我们的核心管理API在12章更详细地。
现在,重要的是理解,每个Solr服务器都有且只有一个Solr主目录包含所有内核core。全局范围的Java系统属性solr.solr.home 设置本地的Solr的home目录的位置。图2.4显示了一个目录清单默认Solr的home ,Solr,例子服务器。
图2.4。目录列表默认Solr Solr的主目录的例子。它包含一个核心叫collection1,包括中配置solr.xml。collection1目录包括对应于核心命名collection。包括Lucene索引,包含core-specific配置文件和一个事务日志。
我们在第四章将了解更多关于Solr的主要核心配置文件,命名为solrconfig.xml,。此外,schema.xml是主要的配置文件管理索引结构文档和查询的文本分析,您将学习schema.xml在第5章。现在,扫描图2.4,这样你对solr的home结构有一个基本结构的认识。
示例目录包含两个Solr探索主目录高级功能。具体来说,例子/ example-DIH /目录提供了一个Solr的核心学习在Solr DIH特性。同时,example/multicore/提供例子多核配置的一个示例。晚些时候我们将了解更多关于这些特性的书。现在, 你需要工作通过2.2节中的示例。让我们继续将文件添加到索引的简单的例子,