solr in action翻译-第二章了解Solr2.3
转载请声明出处,谢谢。翻译也很辛苦
solr学习交流扣扣群340954928
2.2.3。检索得分
正如我们在第1章,涉及的关键区别Solr的查询处理和其他的数据库或NoSQL数据存储中检索:的过程整理文档与查询的相关性,在最相关的文档首先列出。
让我们看看排名检索工作的一些示例文档索引2.1.4节。首先,在问文本框中输入iPod和名称,功能,分别进行评分文本字段,然后单击执行。这应该返回三个文件按降序排序order by得分。花一些时间来扫描结果,决定如果你同意对于这个简单的查询。
直觉上,排序是有道理的,因为查询词iPod发生三次列出的第一个文档,两次名字和曾经的功能;它只发生一次其他文件。分数的数值字段本质上不是有意义的;这只是内部使用Lucene相对排名,不具有可比性不同的查询。外卖的关键是,每个查询相匹配的文档分配一个相关性得分为特定的查询,并返回结果在下降order by分数,分数越高,越相关文档查询。
接下来,改变你的查询到iPod权力和你会发现同样的三个文件并在相同的顺序返回。这是因为这三个文档包含两个他们的名字或功能领域的查询条件。但前两名的成绩文档是更接近:1.521和1.398第二个查询与1.333和0.770第一个查询(圆形)。这是有道理的,因为权重出现在第二个的两倍查询相关文档,所以它的iPod 权重远远高于其相关性iPod查询。
现在,改变你的查询到iPod权重^ 2,增加查询条件2的权重。在一个简而言之,这意味着权力术语重要这个查询是iPod的两倍术语,一个隐式的提高1。再一次,但返回的相同的三个文件在一个不同的顺序。现在最优秀的文档结果Belkin移动电源线iPod w /码头,因为它包含术语的名称和功能领域的力量,和我们告诉Solr, 权重是重要的两倍作为该查询的iPod。
现在你对排名检索是什么样子的有所体会。你会了解更多关于排名检索和提高在第3章中,7和16。让我们继续前进,看到一些其他特性查询处理,从如何处理查询,返回超过三个文档使用分页和排序。
2.2.4。分页和排序
我们的示例Solr索引只包含32个文件,但一个Solr生产实例通常有数以百万计的文档。你可以想象,在一个Solr的实例电子超市iPod可能匹配的查询和成千上万的产品配件。特别是在迅速返回,以确保结果带宽有限的移动设备,你不想返回成千上万的结果一次,即使先列出最相关的
分页
解决方法是返回的一个小子集的结果称为页面,导航工具允许用户请求更多的页面。分页是一个一流的概念Solr查询处理,每个查询包含参数,控制页面大小(行)和起始位置(开始)。如果不是在请求中指定,Solr使用缺省页面大小为10,但你可以控制使用行参数的查询请求。来请求下一个页面的结果,你开始增加参数的页面大小。例如,如果你在第一页的搜索结果(start= 0),那么下一个页面,你增量的启动参数页面大小:例如,start= 10。
重要的是使用尽可能小的页面大小以满足您的需求,因为底层Lucene索引不优化返回许多文档。
相反,Lucene查询处理优化,所以底层数据结构为了最大化匹配和得分的文档。一旦搜索结果Solr,必须重建每个文档,在大多数情况下,读取数据磁盘。它使用智能缓存来尽可能有效,但相比于查询执行,结果施工是一个缓慢的过程,特别是对大型页面大小。因此,你会得到更好的性能从Solr使用小的页面。
排序
2.2.3节中学习,结果是按相关性排序得分,在降序排列(最高到最低)。但是你可以请求Solr其他字段排序结果文档。2.2.1节中你看到一个这样的例子,你的排序结果价格按升序,顶部的产品定价。
排序和分页并进,因为排序顺序决定了页面的位置为结果。来帮助你思考排序和分页,考虑的问题
Solr是否返回确定性结果分页时没有指定排序顺序。从表面上看,这似乎是显而易见的,因为结果按降序排序如果你不指定一个参数得分。但是,如果在查询的所有文档平吗?例如,如果您的查询是有现货的:真的,那么所有匹配的文档有相同的分数,你可以自己使用查询表单验证。
事实证明,Solr能够返回所有文档时确定的顺序页面通过结果即使分数是一样的。这因为Solr发现工作所有文档匹配的查询,然后应用排序和分页的补偿整个文档。Solr跟踪整个组相匹配的文档独立查询排序和分页的补偿。顺便说一下,如果所有文档相同的分数,然后返回索引顺序,这是基于一个内部文档ID由Lucene。内部文档ID大致相当于订单文档的索引,但你不应该依赖于这个值进行排序,因为它
可以改变你的索引变化。
2.2.5。扩大搜索功能
查询表单包含一列复选框,使在的高级功能查询处理。如图2.6所示,显示的表单包含复选框其他表单字段来激活以下搜索功能:
•dismax-Disjunction马克斯查询解析器(见第7章)
•edismax-Extended脱节最大查询解析器(见第7章)
•hl-Hit高亮显示(见第9章)
•facet-Faceting(见第八章)
•spatial-Geospatial搜索、排序等地理距离(见第15章)
•spellcheck-Spell-checking对查询条件(见第10章)
如果你点击任何一个复选框,您将看到它不清楚该做什么当你看到在表单。这是因为从查询表单需要使用这些搜索组件额外的知识,我们不能在这章开始迅速覆盖。我们将在本书后面讨论这些组件的深度。
现在,我们可以看到其中的一些搜索功能在使用Solritas行动,Solr的例子在你当地的Solr搜索界面可用实例在http://localhost:8983 / solr/collection1/browse.。在您的web浏览器中导航到该URL,您将看到一个屏幕,如图2.8所示。
图2.8。Solritas简单的示例,说明如何使用各种搜索组件,比如小面,更多的像这样的,点击高亮显示,空间,为您的用户提供丰富的搜索体验。
在图2.8所示,Solr提供了三个例子可供选择:简单,空间和组。我们将简要介绍这里的关键方面的简单的例子鼓励你自己探索其他的两个例子。
扫描图2.8来识别各种搜索组件在工作。一个有趣的方面搜索组件在这个例子中,显示在页面的左边,
从标题领域方面。facet组件分类的字段值搜索结果成有用的子集来帮助用户优化他们的查询和发现新的信息。例如,当我们搜索视频,Solr返回三个例子文档和facet组件分类猫的这些文件三个子集:电子产品(3),显卡(2),和音乐(1)。点击此链接,音乐方面,你就会看到结果过滤从三个文件只有一个。这个想法这里,除了搜索结果,您可以帮助用户完善他们的搜索条件分类结果与不同的过滤器。我们在第八章将详细介绍方面。
接下来,让我们来看看另一个搜索组件,并没有立即明显的从图2.8:即拼写检查组件。如何拼写检查工作,vydeoh类型搜索框,而不是视频。没有找到结果,如图2.9所示,但Solr返回一个链接,有效地询问用户是否意味着视频;如果是这样,他们可以重新执行使用链接的搜索。
图2.9。的例子如何拼写检查组件允许你的搜索界面提示用户重新执行搜索的使用正确的拼写查询词;在这种情况下,Solr发现视频作为vydeoh最接近的匹配。
有很多强大的功能挤进三Solritas例子,和我们鼓励你把时间花在每个。现在,让我们继续和旅游的其余部分管理控制台。
2.3。Solr管理控制台
在这一点上,你应该有一个良好的查询形式,让我们快速了解一下其余的管理控制台(图2.10)所示
图2.10。Solr管理控制台:探索每个页面使用工具栏在左边。
我们认为它是更好的开始页面的通过一些自己点击,而不是花你的时间阅读有关管理面板中,。因此,我们把它作为练习你访问管理控制台中的链接是什么感觉在每个页面可用。这里有一些突出的管理控制台提供:
•看看你从仪表板Solr实例配置。
•视图最近的日志消息日志记录。
•暂时更改日志冗长从下日志级别设置。
•添加和管理多个核心的核心管理。
•视图Java系统属性Java属性。
•转储JVM中所有活动线程的线程转储。
除了这些主要的页面,有许多core-specific页面的每个核心你的服务器。回想一下,我们一直使用的示例服务器只有一个核心,名叫collection1。包括core-specific页面允许您执行以下操作:
•视图core-specific特性,如Lucene的片段的数量主要核心页面(例如,文物)包括。
•快速请求发送给一个核心,以确保它的健康使用Ping和回应。
•执行查询的核心使用查询的索引。
•查看当前活动模式。xml的核心模式;您将学习关于模式。xml在章节5和6。当前活跃的solrconfig•视图。xml的核心配置;你会学到更多关于solrconfig。xml在第四章。
•看看你从复制指数复制到其他服务器。您将学习如何在12和13章设置复制。
•分析文本分析;您将了解所有关于文本分析在第六章,包括如何使用分析形式。
•确定字段来自浏览器模式文档中进行了分析。
•获得最高条款信息字段使用负载词信息的模式浏览器。
•视图状态和配置插件的插件/统计;您将学习在第4章的插件。
•视图统计信息核心Solr缓存区域,比如有多少文档documentCache,从插件/统计数据。
•管理从Dataimport DIH;这不是在示例服务器启用。
我们将深入挖掘这些页面的细节对于大多数在整个书的时候更多合适的。例如,您将了解所有关于在第六章,当我们分析页面文本分析。现在,自己探索这些页面。给你自导参观一些方向,看看你是否能回答下列问题关于你的Solr服务器。
1。lucene-spec版本属性的值的Solr服务器吗?
2。有什么org.apache.solr.core的日志级别。SolrConfig课吗?
3。有什么文物核心包括maxDoc财产的价值?
4。java.vm的价值。供应商Java系统属性?
5。文物的核心包括的段数是什么?
6。ping服务器的响应时间是什么?
7。马努的顶部术语领域是什么?(提示:选择马努字段在模式中浏览器,点击加载术语信息按钮。)
8。当前documentCache大小是什么?(提示:认为统计数据)。
9。贝尔金的分析价值叫什么名字移动电源线iPod w /码头吗?(提示:选择name字段在分析页面。)
现在让我们将注意力转向需要做什么,开始为你定制Solr具体需求。
2.4。示例适应您的需要
现在,你有机会与服务器的例子中,您可能想知道最好的方式来进行适应您的特定需求。你有两种选择在这里。您可以使用example/目录并开始修改它满足您的需要。但我们认为这是最好保持一份example/做特定于应用程序的更改/克隆的例子。这允许您参考example/如果你打破的东西当工作在您自己的应用程序。
如果你选择后一种方法,您需要选择一个目录的名称适合您的应用程序/比例子。如果我们构建房地产搜索第1章中描述的应用程序,我们可能,例如,房地产/的目录名称。一旦你选定了一个名字,执行以下步骤来创建一个克隆的例子在Solr /目录:
1。创建一个深拷贝的例子/目录;例如,cp - r的例子房地产。
2。清理克隆目录删除未使用Solr主目录,等example-DIH /和多核/;他们会在例子/如果你需要参考他们。
3。Solr主目录下,将文物/包括重命名为更直观为您的应用程序。
4。更新的核心。属性指向您的新的集合的名称替换collection1物的名称包括你的核心从步骤3;如:name =房地产。
请注意,您不需要做任何更改Solr配置文件,例如solrconfig.xml或schema.xml,这个时候。这些文件是为了提供一个好的经验的,让你适应您的需求迭代不得不吞下这么大的药丸立刻重新配置它们。
清理你的索引
可能会有一段时间当你想从一个新鲜的开始索引。停止Solr之后,您可以删除所有文件被删除的data/ /目录的内容核心,比如包括solr/collection1/data/*。当你重新启动Solr,你会有一个新的索引与0文件
从你的新目录启动Solr从2.1.2节使用过程。例如,要房地产应用程序重新启动我们的克隆,我们执行
cd $SOLR_INSTALL/realestate
java -jar start.jar
您可能想知道关于JVM选项设置、配置备份、监控、设置Solr服务,等等。我们觉得这些问题当你很重要准备去生产环境,所以我们在12章中讨论这些问题当我们讨论采取Solr生产环境。
2.5。总结
回顾一下,我们开始通过安装从二进制发行版的Apache Solr 4.7提供。在现实中,安装过程只是选择一个适当的目录中提取存档(下载。zip或. tgz),然后执行提取。接下来,我们开始示例Solr服务器并添加示例文档使用这个post.jar命令执行应用程序。
添加文件后,我们向您介绍了Solr的查询表单,你学会了Solr查询的基本组件。具体地说,您学习了如何构造查询包含一个主查询参数q fq以及一个可选的过滤器。您看到了如何控制哪些字段返回使用外语参数以及如何控制命令使用排序的结果。我们还谈到了排在检索结果的概念按照相关性排序得分,这将在第三章进一步介绍。您还将了解更多关于查询在第7章。
我们向您介绍了搜索组件和在Solr提供深入了解它们是如何工作的使用UI Solritas例子。具体地说,您看到了如何方面的一个例子组件允许用户改进自己的搜索条件使用动态生成的过滤器称为方面。我们还涉及到如何拼写检查组件允许您提示用户提供一个“你X意味着什么?”消息时查询包含一个拼错的词。
接下来,我们给你建议什么其他工具可用Solr的管理控制台。你会发现许多伟大的关于Solr可用工具和统计数据,我们希望你能够回答我们提出的问题你走过管理控制台你的浏览器。我们还提出了克隆的步骤示例/目录并开始定制您自己的应用程序。我们认为这是一个开始,你的好方法总有一个工作示例引用为您的特定需求定制Solr。
现在,您已经有了一个运行Solr实例,是时候了解Solr的关键概念。在第三章中,您将更好地了解核心搜索概念,会帮助你在你其他的Solr的旅程。