转载请声明出处,谢谢。翻译也很辛苦
4.2。查询请求处理
Solr的主要目的是搜索,因此,处理搜索请求是Solr中最重要的过程之一。在本节中,您将了解如何Solr处理搜索请求和如何定制请求处理,以更好地适应您的特定搜索需求。
4.2.1。Request-handling概述
通过HTTP请求Solr发生。如果你想查询Solr,然后你发送一个HTTP GET请求。另外,如果你想在Solr索引文档,使用一个HTTP POST请求。下面的清单显示了HTTP GET请求查询示例Solr服务器(从清单2.1重复)。
清单4.4。查询示例Solr服务器的HTTP GET请求
你可以把这个URL输入到web浏览器,使用命令行工具像旋度,或使用的示例驱动应用程序的书,以防止自己类型的查询。执行这个请求使用示例驱动程序,你的类型
cd $SOLR_IN_ACTION
java -jar solr-in-action.jar listing #.#
#.#参数应该替换为清单执行,如4.4。从本书的示例代码使用http实用建议,因为你不需要做任何copying-and-pasting或额外的输入运行代码清单,和它作用于所有Java平台。清单4.4是当运行该实用程序的输出
java -jar solr-in-action.jar listing 4.4
INFO [main] (ExampleDriver.java:92) - Found example class sia.Listing for arg http
INFO [main] (ExampleDriver.java:125) - Running example Listing with args: -listing 4.4 Feb 13, 2013 6:21:32 PM org.apache.solr.client.solrj.impl.HttpClientUtil createClient INFO: Creating new http client, config:maxConnections=128&maxConnectionsPerHost=32&followRedirects=false
Sending HTTP GET request (listing 4.4):
http://localhost:8983/solr/collection1/select? q=iPod& fq=manu:Belkin& sort=price asc& fl=name,price,features,score& df=text& wt=xml&start=0& rows=10
Solr returned: HTTP/1.1 200 OK
<?xml version="1.0" encoding="UTF-8"?>
<response>
...
</response>
http实用程序提供了其他选项允许您覆盖Solr服务器的地址或更改响应类型XML以外的东西,比如JSON。看到一个选项的完整列表,输入java -jar solr-in-action.jar list - h。
图4.4显示了事件的顺序和主要组件参与处理这个Solr请求。从图4.4的左上角开始,
图4.4。一系列事件处理请求/选择请求处理程序。
1、客户端应用程序发送一个HTTP GET请求
http://localhost:8983/solr/collection1/select?q=....
查询参数通过GET请求的查询字符串。
2、Jetty接受请求并将其传递给Solr的统一要求调度员在请求中使用/ Solr上下文路径。在技术方面,统一调度请求
是一个Java servlet过滤器映射到/ * Solr的web应用程序,看到org.apache.solr.servlet.SolrDispatchFilter。
3、Solr的请求分配器使用collection1的一部分包括请求路径以确定核心的名字。接下来,调度员定位/select请求处理程序在solrconfig.xml对collection1的注册的核心。
4、/select请求处理程序处理请求使用管道的搜索组件(覆盖部分4.2.4)。
5、在处理请求之后,结果格式化响应作家组件并返回给客户端应用程序;默认情况下,/select处理程序返回结果为XML。响应都包含在7.7节。
请求调度的主要目的是找到正确的核心来处理请求,如collection1,包括然后注册请求路由到合适的请求处理程序的核心,在这种情况下/select。在实践中,请求调度程序的默认配置是足够的对于大多数应用程序。另一方面,是常见的定义一个自定义搜索请求处理程序或自定义一个现有的处理程序,比如/选择。让我们深入/select处理程序是如何工作的,以获得更好的理解如何定制一个请求处理程序。
4.2.2。搜索处理程序
这个清单显示/select的定义从xml请求处理程序。
清单4.5。/select定义从xml选择请求处理程序
在幕后,所有请求处理程序是一个Java类实现的:在这种情况下,solr.SearchHandler。在运行时,solr。org.apache.solr.handler.component.SearchHandler SearchHandler解析为内置的Solr类。一般来说,任何时候你看到solr。作为一个在solrconfig类的前缀。xml,你知道这意味着Solr的核心Java包:“分析。”、“模式。”、“处理程序。”、“搜索。”、“更新。”、“核心。”、“请求。”、“update.processor。”、“实效。”、“拼写。”、“handler.component。”,或“handler.dataimport。“这速记符号有助于减少杂乱Solr的配置文档。
在Solr中,有两种主要类型的请求处理程序:搜索处理程序为索引查询处理和更新处理程序。我们将了解更多关于在未来更新处理程序章中,我们将讨论索引。现在,让我们专注于搜索请求处理程序如何处理查询,如图4.5所示。
图4.5。搜索请求处理程序的参数装饰(违约、附加和不变量),组件和last-components first-components
search-handler结构如图4.5所示的目的是使您易于适应Solr的方法将管道为您的应用程序。例如,您可以定义您自己的请求处理程序,或者更常见的是,一个自定义搜索组件添加到现有的请求处理程序,比如/select。一般来说,一个搜索处理程序由以下阶段,并且每个阶段可以定制solrconfig.xml:
1。请求参数装饰使用
1。default——设置默认参数对请求如果不明确所提供的客户端
2。invariants-不变量参数设置为固定值,覆盖客户机提供的值
3。appends-----,附加的参数结合参数由客户提供
2。first-components——执行一个可选的搜索组件链首先执行预处理任务
3。components——主链搜索组件,必须至少包括查询组件
4。last-components-An可选搜索组件链,应用持续执行后处理任务
请求处理程序不需要定义在所有阶段。如清单4.5中,您可以看到从/选择仅定义违约部分。这意味着所有其他阶段都继承自基solr。SearchHandler实现。如果没有定义,主要组件部分使用的是默认的搜索组件列表。这个列表的默认搜索组件将4.2.4节中介绍。在实践中,自定义请求处理程序通常用于简化客户机应用程序。例如,在第二章我们介绍了Solritas示例使用一个自定义请求处理程序,权力/浏览、功能丰富的搜索体验,同时保持Solritas简单的客户端代码。
相关推荐
Solr 数据导入调度器(solr-dataimport-scheduler.jar)是一个专门为Apache Solr 7.x版本设计的组件,用于实现数据的定期索引更新。在理解这个知识点之前,我们需要先了解Solr的基本概念以及数据导入处理...
标题中的“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-...
这是最新的全文检索引擎Solr4.2 Solrj API 包含全部的api 其中还有部分官方文档,
solr-api-4.2
《Solr In Action》中文版第八章主要探讨的是Solr中的分类搜索,也称为分类导航或分类浏览。分类是Solr的一个强大特性,它允许用户根据一个或多个分类过滤搜索结果,提供更丰富的探索和分析体验。本章涵盖的内容包括...
经过测试可以适用solr7.4版本。如果低版本solr(6.*) 可以直接适用网上的solr-dataimport-scheduler 1.1 或者1.0版本。
Solr 数据导入调度器(solr-dataimport-scheduler)是一个实用工具,用于自动化Apache Solr中的数据导入过程,尤其适用于需要定期从关系型数据库同步数据的场景。Solr 是一个流行的开源全文搜索引擎,它提供了强大的...
为了使用这个源码,你需要对Solr的配置文件(如solrconfig.xml)进行修改,添加DIH相关的配置,包括数据源信息、查询语句以及调度器的设置。然后,你可以根据项目中的指导编译源码,生成适合你所用Solr版本的JAR文件...
Apache Solr 是一个开源的全文搜索引擎,广泛应用于各种企业级数据搜索和分析场景。增量更新是Solr的一个关键特性,它允许系统仅处理自上次完整索引以来发生更改的数据,从而提高了性能并降低了资源消耗。"apache-...
4. **启动定时任务**:一旦配置完成,重启Solr服务器,定时任务就会按照设定开始运行。你可以通过Solr的管理界面或者API监控和管理这些任务。 5. **日志和监控**:定期检查Solr的日志文件,以确认数据导入任务是否...
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这些能行,不行就试试我这个。
solr-data-import-scheduler-1.1.2,用于solr定时更新索引的jar包,下载后引入到solr本身的dist下面,或者你tomcat项目下面的lib下面