转载请声明出处,谢谢。翻译也很辛苦
solr学习交流扣扣群340954928
1.2。Solr是什么?
在本节中,我们介绍了Solr搜索应用程序设计的关键组件从地上起来。这将帮助您了解Solr提供特定的功能和他们的动机存在。但是在进入之前的细节Solr是什么,让我们确保你知道Solr不是。
•Solr不是一个网络搜索引擎像谷歌或必应。
•Solr无关与搜索引擎优化(SEO)的网站。
现在想象一下,我们需要设计一个房地产搜索web应用的潜力购房者。这个应用程序的核心用例将寻找待售房屋使用一个web浏览器。图1.1描述了这个虚构的web应用程序的屏幕截图。不要过于关注UI的布局和设计,这只是一个模型给视觉上下文。最重要的是体验,Solr可以支持的类型。
图1.1。一个虚构的搜索应用程序描述的模型截图Solr功能
让我们参观图1.1中的截图说明Solr的一些关键特性。从左上角,工作顺时针,Solr提供了强大的功能支持关键字搜索框。1.1.2节中我们讨论了,提供一个良好的用户体验基本的关键字搜索需要复杂的基础设施,Solr提供的盒子。具体来说,Solr提供拼写检查(建议用户类型)、同义词处理、查询词和文本分析工具来处理查询语言的变化条款,比如买房子或购买一个家。
Solr还提供了一个强大的解决方案,实现地理空间查询。在图1.1中,匹配家庭列表显示在地图上根据他们的距离中心的纬度/经度的虚拟社区。Solr的地理空间支持,您可以通过地理距离排序文件,限制在一个文档特定的地理距离,甚至从任何位置返回每个文档的地理距离。也很重要,地理空间搜索快速和高效的,支持的UI允许用户在地图上放大或缩小和移动。
一旦用户执行一个查询,可以进一步使用Solr的分类结果分类显示特性的支持文档的结果集。方面的一种方式分类的文件在一个结果集,以发现和查询优化。在图1.1中,搜索结果分为特性方面,家庭风格,和清单类型。
现在,我们有一个基本的功能类型的想法我们需要支持我们的真实房地产搜索应用程序,让我们看看我们如何实现这些特性与Solr。来开始,我们需要知道Solr如何匹配清单在索引查询输入的用户,因为这是所有搜索应用程序的基础。
1.2.1。信息检索引擎
Solr是建立在Apache Lucene,一个流行的、基于java的开放源码的信息检索lib。我们可以节省的详细讨论信息检索是第三章。为现在,我们将涉及的关键概念信息检索,从正式定义从一个著名的学术文本在现代搜索概念:
信息检索(IR)发现非结构化的材料(通常是文件),满足一个信息需要从内部大集合(通常存储在电脑上)。
房地产在我们的示例应用程序中,用户的主要需要的是找到一个家购买基于位置,风格,功能,和价格。我们的搜索索引将包含家在美国上市,绝对有资格作为一个“大收集。“简而言之,Solr使用Lucene索引提供核心数据结构文档和执行搜索找到文档。
Lucene是一个基于java库的建立和管理一个反向索引,一个专业数据结构进行匹配查询条件文本文档。图1.2提供了一个Lucene的简化描述反向索引对于我们的示例房地产搜索应用程序。
图1.2。支持信息检索是关键数据结构反向索引。
您将在第3章学习如何一个反向索引。现在,是足够的回顾图1.2了解当一个新文档(#图44)添加到索引和文档是如何使用反向匹配查询方式索引。
你可能会认为一个关系数据库可能返回相同的结果使用一个SQL查询,这是真正的对这个简单的例子。但是一个关键的区别Lucene查询和数据库查询是在Lucene结果排名的关联查询和数据库结果只能按一个或多个表的排序列。换句话说,排名文档的相关性是信息的一个关键方面检索并帮助区分从其他类型的查询。
你也许会感到惊奇,还像谷歌这样的搜索引擎使用一个反向索引搜索网络。事实上,需要建立一个网络级反向索引了MapReduce的发明。
MapReduce编程模型,将大规模的数据处理操作在一个商品服务器集群通过制定算法分成两个阶段:map和reduce。在函数式编程,MapReduce通过谷歌来构建其巨大的反向索引适应电力网络搜索。使用MapReduce,地图阶段产生一个独特的术语和术语文档ID发生。在降低阶段,术语是排序,这样所有术语/ docID对发送到为每一个独特的词相同的减速过程。减速器总结所有词的频率每学期生成反向索引。
Apache Hadoop MapReduce的提供了一个开源实现,而且它的使用Apache Nutch开源项目来构建一个Lucene为网络级反向索引使用Solr搜索。一次彻底的讨论Hadoop和Nutch超出了这个范围
书,但我们鼓励你去调查这些项目如果您需要构建一个网络级搜索索引。
现在,我们知道,Lucene提供了核心基础设施来支持搜索,让我们看看值Solr的Lucene补充道,从你如何定义你的索引使用Solr的灵活模式结构。xml配置文件。
1.2.2。灵活的模式管理
虽然Lucene索引文件和执行查询,提供图书馆缺少的是一种简单的方法来配置你想让你的索引结构。
使用Lucene,您需要编写Java代码来定义字段和如何分析这些字段。Solr添加一个简单的声明方式定义索引的结构以及如何想要的字段代表和分析:一个XML-configuration文档命名schema.xml。在后台,Solr模式使用。xml表示所有可能的领域和必要的数据类型映射到Lucene索引文件。这节省了编程时间,让你的索引结构更容易理解和交流。一个Solr-built指数是100%兼容Lucene索引构建的编程方式。
Solr还增加了不错的构造上的核心Lucene索引功能。具体来说,Solr提供复制和动态字段。复制字段提供一种方法来把生一个或多个字段的文本内容和应用于不同的领域。动态字段允许您相同的字段类型适用于许多不同的领域在schema.xml显式地声明它们。这是用于建模的文档许多领域。我们覆盖模式。xml在章节5和6讲解。
房地产而言,我们的示例应用程序中,你也许会感到惊奇,我们可以使用Solr服务器的例子schema.xml没有做任何修改。这显示了如何灵活Solr模式支持;示例Solr服务器设计支持产品搜索,但是它对我们的房地产搜索很不错的例子。
在这一点上,我们知道,Lucene索引文档提供了一个强大的图书馆,执行查询,和排名结果。Schema.xml,你有一个灵活的方式定义索引结构而不必使用XML-configuration文档程序Lucene API。现在,您需要一种方法来从web访问这些服务。在在下一节中,我们学习如何Solr作为Java web应用程序集成和运行其他技术使用证明标准,如XML、JSON和HTTP。
1.2.3。Java web应用程序
Solr是一个Java web应用程序,运行在任何现代Java Servlet引擎,比如Tomcat或一个完整的J2EE应用程序服务器如JBoss或Oracle。图1.3描述了Solr服务器的主要软件组件。
图1.3。Solr4的主要组件
诚然,图1.3有点压倒性的乍一看。花一些时间来扫描图和了解的术语;不要担心如果你不熟悉的所代表的术语和概念。读完这本书,你应该有一个强大的理解所有的概念提出了如图1.3所示。
我们介绍这一章中提到,Solr设计师认识到Solr是最好的补充技术,在现有架构工作。在事实上,你会很难找到一个环境Solr并不在下降。作为你会看到在第二章,您可以启动示例Solr服务器在几分钟后
你完成下载。
为了实现轻松集成的目标,需要可以从Solr的核心服务许多不同的应用程序和语言。Solr提供了简单的REST-like服务的基础证明标准的XML、JSON和HTTP。作为一个短暂的一边,我们避免了ESTful标签Solr的基于http的API,因为它并不严格遵守所有的休息(Representational State Transfer)原则。例如,在Solr中,您使用HTTP POST删除文档,而不是HTTP delete
REST-like接口是很好的基础,但是通常开发人员喜欢访问客户端库的语言选择抽象一些样板机械的调用web服务并处理响应。这里有好消息最流行的语言,包括PHP、Java、Python。净,Ruby有一个
Solr客户机库。
相关推荐
在 Solr 的生态系统中,`solr-dataimport-scheduler-1.2.jar` 是一个非常重要的组件,它允许用户定时执行数据导入任务,这对于需要定期更新索引的应用场景尤其有用。这个特定的版本 `1.2` 已经被优化以兼容 `Solr ...
apache-solr-dataimportscheduler-1.2.jar
Solr 数据导入调度器(solr-dataimport-scheduler.jar)是一个专门为Apache Solr 7.x版本设计的组件,用于实现数据的定期索引更新。在理解这个知识点之前,我们需要先了解Solr的基本概念以及数据导入处理...
标题中的“Solr in Action -- Apache Solr 在比价系统中的应用”表明本文将深入讨论Apache Solr搜索服务器在比价系统中的实际应用案例。Apache Solr是一个开源的搜索引擎平台,广泛应用于企业级应用中,以提高搜索...
solr-mongo-importer-1.1.0.jar solr-mongo-importer-1.1.0.jar solr-mongo-importer-1.1.0.jar
自己根据最新的solr8.2版本重新编译的定时导入的包,自己根据最新的solr8.2版本重新编译的定时导入的包;
solr-import-export-json最新代码solr-import-export-json最新代码solr-import-export-json最新代码solr-import-export-json最新代码solr-import-export-json最新代码solr-import-export-json最新代码solr-import-...
兼容最新的solr6.1,tomcat启动不会报错。
这里我们将围绕"solr-9.0.0-src.tgz"这个源码包,详细探讨其主要组成部分、核心功能以及开发过程中的关键知识点。 1. **Solr架构** Solr的架构基于Lucene,一个强大的全文搜索引擎库。它提供了分布式、可扩展、高...
经过测试可以适用solr7.4版本。如果低版本solr(6.*) 可以直接适用网上的solr-dataimport-scheduler 1.1 或者1.0版本。
《Solr In Action》中文版第八章主要探讨的是Solr中的分类搜索,也称为分类导航或分类浏览。分类是Solr的一个强大特性,它允许用户根据一个或多个分类过滤搜索结果,提供更丰富的探索和分析体验。本章涵盖的内容包括...
Solr 数据导入调度器(solr-dataimport-scheduler)是一个实用工具,用于自动化Apache Solr中的数据导入过程,尤其适用于需要定期从关系型数据库同步数据的场景。Solr 是一个流行的开源全文搜索引擎,它提供了强大的...
在"solr6--solr-dataimporthandler-scheduler-1.1"这个项目中,我们关注的重点是DIH的调度功能,也就是如何定期自动更新Solr索引。 DataImportHandler(DIH)是Solr的一个插件,用于从关系型数据库或其他结构化数据...
solr 增量更新所需要的包 solr-dataimporthandler-6.5.1 + solr-dataimporthandler-extras-6.5.1 + solr-data-import-scheduler-1.1.2
solr-data-import-scheduler-1.1.2,用于solr定时更新索引的jar包,下载后引入到solr本身的dist下面,或者你tomcat项目下面的lib下面
这是我自己反编译fix后,支持solr7.4高版本的定时增量任务(亲测solr7.4),下载下来开箱即用。低版本的没试过,估计低版本的solr配合之前apache-solr-dataimportscheduler-1.0.jar这些能行,不行就试试我这个。
Solr in Action is the definitive guide to implementing fast and scalable search using Apache Solr 4. It uses well-documented examples ranging from basic keyword searching to scaling a system for ...
"apache-solr-dataimportscheduler-1.0.zip"是一个官方发布的54l版本,专门针对Solr 5.x的定时索引生成需求。 数据导入调度器(DataImportScheduler)是这个扩展的核心组件,它允许用户根据预设的时间间隔自动执行...
在给定的压缩包“apache-solr-dataimporthandler-extras-1.4.0.jar.zip”中,主要包含了一个名为“apache-solr-dataimporthandler-extras-1.4.0.jar”的文件,这个文件是Solr的一个重要组件——DataImportHandler...
"apache-solr-dataimportscheduler.jar" 是一个专门为Solr设计的扩展包,用于实现自动化的数据增量更新调度。 首先,我们要理解Solr的数据导入过程。Solr使用DataImportHandler(DIH)来从关系型数据库、XML文件或...