转载请声明出处,谢谢。翻译也很辛苦
4.2.3 .。浏览Solritas请求处理程序:一个例子
从客户端代码隐藏复杂性是web服务和面向对象设计的核心。Solr采用这个证明设计模式允许您定义一个自定义搜索请求处理程序为您的应用程序,它允许您从Solr隐藏复杂性客户机。而不是要求每个查询发送正确的参数来启用拼写校正,例如,您可以使用一个自定义默认启用拼写纠正的请求处理程序。
Solr示例服务器已预设的一个很好的例子,该设计模式在工作中支持Solritas示例应用程序。该清单显示了一个缩写的定义从solrconfig.xml /浏览请求处理程序。
清单4.6。浏览Solritas请求处理程序
我们建议你经历的所有部分在solrconfig /浏览请求处理程序。xml文件。一件事应该是显而易见的是,大量的精力配置这个处理程序,以证明在Solr许多伟大的功能。当开始Solr,你绝对不需要配置为应用程序类似。您可以建立一个自定义请求处理程序与Solr随着时间的推移你获得的经验。
图4.6。截图Solritas示例使用/brower请求处理程序
扫描图4.6,看看所有的搜索功能激活这个简单的查询。在幕后,Solritas搜索表单提交一个查询/浏览请求处理程序。在日志中,我们看到
INFO: [collection1] webapp=/solr path=/browse params={q=iPod} hits=3 status=0 QTime=22
注意,只有搜索表单发送的参数q = iPod,但是响应包括方面,更多的像这样的,拼写校正,分页,高亮显示。一系列令人印象深刻的特性的一个简单的请求像q = iPod !正如你可能已经猜到了,这些特性被启用使用默认参数/browse请求处理程序。
清单4.6中的默认值< 1st >元素是有序列表的名称/值对,提供查询参数的默认值,如果他们不明确的客户端应用程序发送的。例如,response-writer类型参数的默认值重量velocity (velocity < str name = " wt " > < / str >)。velocity是一个开源的模板引擎用Java编写的(http://velocity.apache.org/engine/index.html)。
根据先前的日志消息,唯一的形式发送的参数是q,所有其他参数都设置的默认值。让我们做一个实验,看看真正的查询处理。而不是使用response-writer类型velocity,让我们将重量参数设置为xml,这样我们就能看到响应在原始形式提供的HTML装饰velocity。同时,为了看到所有查询参数,我们需要设置echoParams值。这是一个很好的例子重写默认值的显式地从客户机传递参数。下一个清单显示了查询URL和<参数>元素的一部分返回响应;请记住,您可以使用http工具提供这本书的源代码来执行这个请求。注意参数的数量发送到/browse请求处理程序是相当大的。
清单4.7。参数列表发送到/bowse请求处理程序q = iPod
从看清单,它应该清楚,参数装饰在Solr搜索请求处理程序是一个强大的特性。具体来说,默认列表应用程序提供了两个主要的好处:
•它有助于简化客户端代码通过建立合理的默认值为您的应用程序在一个地方。例如,设置response-writer类型wt
Velocity 意味着客户机应用程序不需要担心设置该参数。此外,如果你速度换成另一个模板引擎,您的客户端代码不需要改变!
•等preconfiguring复杂的组件分类,可以为所有查询建立一致的行为,同时保持你的客户端代码简单。如清单4.7中,您可以看到从请求包含许多复杂的参数需要配置搜索组件由Solritas使用。有20多个参数配置为Solritas分类组件。
/bowse处理程序作为一个很好的例子与Solr查询处理什么是可能的,但它也不太可能,它可以使用您的应用程序,因为
默认参数是Solritas紧密耦合的数据模型。例如,价格范围分类配置,流行,和manufacturedate_dt字段,这是特定于Solritas模式和可能不适用于您的应用程序。因此,你应该把/浏览处理程序作为一个例子,不是100%的可重用的解决方案,在设计自己的特定于应用程序的请求处理程序。
4.2.4。与搜索组件扩展查询处理
除了一组默认值,/bowse请求处理程序定义了一个数组< arr >搜索组件适用于请求后默认组搜索组件是使用< last-components >元素应用。清单4.6中,注意到指定/bowse请求处理程序
<arr name="last-components">
<str>spellcheck</str>
</arr>
这种配置意味着搜索组件的默认设置,然后拼写检查组件。这是一个常见的设计模式搜索请求处理程序。图4.7显示了六个内置搜索组件链,应用在<components>阶段查询处理。
图4.7。六个内置搜索组件链
查询组件
查询组件是Solr的方法将管道的核心。在高级别上,查询组件使用主动搜索解析和执行查询,这是在4.3节讨论。具体query-parsing策略由defType控制参数。例如,/浏览请求处理程序使用eDisMax查询解析器(< str name = " defType " > eDisMax < / str >),这将在第7章讨论。
查询组件标识相匹配的所有文档索引查询。匹配文档的设置可以使用的方法将链中的其他组件,组件等方面。查询组件总是启用,需要显式地启用和所有其他组件使用查询参数。
Facet component
给定一个查询结果集标识的组件,facet组件,如果启用,计算字段级方面。我们在第八章深入讨论分类。外卖现在是分类的关键是构建到每一个搜索请求,它需要启用查询请求参数。启用/浏览,分类使用默认参数:< str name = "facet" > < / str >。
More Like This component
给出一个结果集查询创建的组件,该组件的更像,如果启用,识别其他文档类似于文档在搜索结果中。看到更像这个组件的一个例子,搜索硬盘驱动器的Solritas例子。单击该链接更像“三星SpinPoint P120 SP2514N - - 250 GB硬盘ata - 250”结果看到类似的文档的列表,如图4.8所示。
图4.8。例子,More LIke This搜索组件
我们覆盖了更多这样的组件在16章。
Highlight component
如果启用,强调组件强调高度相关的文本匹配的文档。在第9章强调覆盖。
Stats component
数据组件计算之类的简单统计最小,最大,,意思是,和标准偏差的数值字段匹配的文档。看到的数据组件的一个例子,执行GET请求,如清单4.8所示。
清单4.8。请求摘要统计信息字段使用统计组件价格
Request
Response
Debug component
调试组件返回解析查询字符串,执行和详细的信息关于每个文档的得分计算返回的结果集。解析查询值来帮助你追踪query-formulation问题。调试组件是用于故障诊断的排名问题。看到调试组件在工作,直接你的浏览器
http://localhost:8983/solr/collection1/browse?q=iPod&wt=xml&debugQuery=true.
注意,这是我们从Solritas执行相同的查询形式,除非我们改变了response-writer类型wt xml(而非velocity)和启用调试组件使用HTTP GET请求中的debug = true。下面的清单显示了XML输出的一个片段产生的调试组件。
清单4.9。片段产生的XML输出调试组件
注意single-term iPod用户输入的查询结果在一个相当复杂的查询由许多促进众多领域。更复杂的查询是由eDisMax查询解析器,它由defType参数启用下违约。eDisMax解析器在第7章。
添加last-component拼写检查
内置搜索组件处理请求后,解释清楚/bowse搜索处理程序调用组件,在< last-components >上市阶段。该清单显示了拼写检查的定义从solrconfig.xml组件。
清单4.10。定义一个搜索组件做拼写检查
注意组件的名称“拼写检查”匹配是什么< last-components >部分中列出的/浏览请求处理程序。你需要更多的背景在Solr的spelling-correction功能如何工作清单4.10中设置有意义,所以我们将在第10章回到此配置元素。外卖在这一点上,关键是看如何搜索组件添加到搜索请求处理管道使用< last-components >。
此时,您应该有一个坚实的理解Solr如何处理查询请求。我们转向另一个配置主题之前,您应该意识到Solr管理控制台提供访问所有活跃的搜索插件/统计> QUERYHANDLER下请求处理程序。图4.9显示了/浏览搜索属性和数据处理程序,您可能已经猜到,是另一个MBean。
图4.9。截图显示属性和统计Solr /浏览请求处理程序的管理控制台插件/统计> QUERYHANDLER之下
现在让我们把注意力转到配置设置,帮助优化查询性能。
相关推荐
Solr 数据导入调度器(solr-dataimport-scheduler.jar)是一个专门为Apache Solr 7.x版本设计的组件,用于实现数据的定期索引更新。在理解这个知识点之前,我们需要先了解Solr的基本概念以及数据导入处理...
solr4.3 分词器 把IKAnalyzer.jar放到solr\WEB-INF\lib下。
标题中的“Solr in Action -- Apache Solr 在比价系统中的应用”表明本文将深入讨论Apache Solr搜索服务器在比价系统中的实际应用案例。Apache Solr是一个开源的搜索引擎平台,广泛应用于企业级应用中,以提高搜索...
`conf.zip` 文件则包含了 Solr 的配置文件,如上述提到的 `solrconfig.xml` 和 `data-config.xml`,以及其他可能的配置文件,如 `schema.xml`,用于定义字段类型和字段。解压 `conf.zip` 后,这些配置文件将用于指导...
solr-mongo-importer-1.1.0.jar solr-mongo-importer-1.1.0.jar solr-mongo-importer-1.1.0.jar
- **配置**:Solr的配置文件在`conf`目录下,包括schema.xml(定义字段和字段类型)、solrconfig.xml(配置索引和查询行为)等。 - **集合与分片**:在分布式环境中,Solr将数据分为多个集合,每个集合可以进一步...
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-...
《Solr In Action》中文版第八章主要探讨的是Solr中的分类搜索,也称为分类导航或分类浏览。分类是Solr的一个强大特性,它允许用户根据一个或多个分类过滤搜索结果,提供更丰富的探索和分析体验。本章涵盖的内容包括...
经过测试可以适用solr7.4版本。如果低版本solr(6.*) 可以直接适用网上的solr-dataimport-scheduler 1.1 或者1.0版本。
4. **example 目录**:提供了一个预配置的Solr实例,用于快速入门和测试。它包括一个默认的配置集,以及一个简单的数据导入处理程序(DIH)示例,帮助开发者了解如何设置和使用Solr。 5. **docs 目录**:包含了Solr...
Solr 数据导入调度器(solr-dataimport-scheduler)是一个实用工具,用于自动化Apache Solr中的数据导入过程,尤其适用于需要定期从关系型数据库同步数据的场景。Solr 是一个流行的开源全文搜索引擎,它提供了强大的...
为了使用这个源码,你需要对Solr的配置文件(如solrconfig.xml)进行修改,添加DIH相关的配置,包括数据源信息、查询语句以及调度器的设置。然后,你可以根据项目中的指导编译源码,生成适合你所用Solr版本的JAR文件...
Apache Solr 是一个开源的全文搜索引擎,广泛应用于各种企业级数据搜索和分析场景。增量更新是Solr的一个关键特性,它允许系统仅处理自上次完整索引以来发生更改的数据,从而提高了性能并降低了资源消耗。"apache-...
4. **启动定时任务**:一旦配置完成,重启Solr服务器,定时任务就会按照设定开始运行。你可以通过Solr的管理界面或者API监控和管理这些任务。 5. **日志和监控**:定期检查Solr的日志文件,以确认数据导入任务是否...
ik-analyzer-5.01-for solr4.3.jar
solr 增量更新所需要的包 solr-dataimporthandler-6.5.1 + solr-dataimporthandler-extras-6.5.1 + solr-data-import-scheduler-1.1.2
在给定的压缩包“apache-solr-dataimporthandler-extras-1.4.0.jar.zip”中,主要包含了一个名为“apache-solr-dataimporthandler-extras-1.4.0.jar”的文件,这个文件是Solr的一个重要组件——DataImportHandler...
Apache Solr 是一个开源的全文搜索引擎,由Apache软件基金会维护,是Lucene项目的一部分。它提供了高效、可扩展的搜索和分析能力,广泛应用于企业级的搜索应用中。标题中的"solr-8.11.1-src.tgz"表明这是Apache Solr...
这是我自己反编译fix后,支持solr7.4高版本的定时增量任务(亲测solr7.4),下载下来开箱即用。低版本的没试过,估计低版本的solr配合之前apache-solr-dataimportscheduler-1.0.jar这些能行,不行就试试我这个。