转载请声明出处,谢谢。翻译也很辛苦
本章涵盖了
•处理查询请求
•与搜索组件扩展查询处理
•管理和变暖搜索者
•管理缓存行为
到目前为止,你已经提出了什么信仰,没有学习Solr是如何工作的。我们会改变,在这一章和下一个通过学习如何配置和配置设置如何影响Solr Solr的行为。您将看到,Solr的配置可以在第一次看到令人生畏的,因为示例的配置文件在Solr服务器包含几乎所有可能的配置设置。我们在这一章的重点介绍最重要的配置设置Solr,尤其是那些影响Solr如何处理来自客户机应用程序的请求。你获得的知识在本章将被应用在这本书的其余部分。阅读本章后,你将有一个公司的理解如何在Solr服务器上执行查询。
在第二章我们得知,Solr的工作不需要任何配置更改。但在某些时候,你需要为您的特定优化Solr search-application需求。一般来说,大多数的配置你与Solr集中在三个主要的XML文件:
•solr.xml——定义相关属性管理、日志记录、分片,SolrCloud
•solrconfig.xml——定义的主要设置特定的Solr的核心
•schema. xml定义索引的结构,包括字段和字段类型
在这一章,我们将专注于xml。在第五章中,我们将了解所有schema.xml,驱动你的索引结构。至于solr。xml,您不需要做任何手动修改该文件,因此我们将跳过讨论它的目的,直到第12章,当我们介绍核心管理API。
Solr的大多数的配置中指定XML文档,本章从XML包含大量代码清单显示XML片段。但是我们的主要重点是概念背后的配置设置,而不是特定的XML语法,这是自解释的。
首先,从配置的角度让我们看看会发生什么,当你启动Solr服务器。从第2章召回,Solr在Jetty作为Java web应用程序运行。Solr web应用程序使用一个全局Java系统属性(solr.solr.home)来识别寻找配置文件的根目录。示例服务器,Solr的主目录(solr.solr.home)$ SOLR_INSTALL / / Solr /例子。
接下来,Solr扫描包含一个核心的主目录的子目录。属性文件,它定义了autodiscovered核心的基本属性。例如,示例服务器有一个核心。属性文件的示例中example/solr/collection1/。的核心。属性文件包含一行定义核心的名称,名称=文物,包括那些需要触发自动发现文物的核心包括。图4.1描述了核心。属性和solrconfig。xml使用Solr的初始化过程中创建和设置collection1核心包括。
图4.1。Solr发现collection1的核心包括使用core、使用solrconfig属性和solrconfig.xml在服务器初始化。
在Solr的早期版本中,您必须在Solr.xml定义核心,需要建立一个核心的缺点目录,然后添加solr.xml的核心定义。与核心。属性,您不再需要额外的步骤添加solr.xml的核心。此外,
新方法允许独立的核心通过消除需要定义所有核心中央配置文件。
core.properties文件在例子collections1 core包括只包括所需的名称参数。但是你也可以设置一些可选的参数来调整一个autodiscovered核心的定义。表4.1显示了参数可以指定的核心。属性定义一个autodiscovered核心。
表4.1。配置属性使用core.properties autodiscovered核心
参数 |
描述 |
name |
Core的名称,必须的 |
config |
指定配置文件的名称,默认为solrconfig.xml。 |
dataDir |
指定的路径目录包含索引文件和更新日志(tlog);默认数据实例目录下。 |
ulogDir |
指定的路径包含更新日志的目录(tlog)。 |
schema |
集模式文档的名称,默认为schema.xml。 |
shard |
设置core这个核心的碎片ID;有关更多信息,请参见12和13章分片。 |
collection |
称SolrCloud收集这个核心属于;集合是第13章。 |
loadOnStartup |
如果是true,这个核心Solr的初始化过程中加载和核心的新搜索器打开。 |
transient |
表明该核心可以自动卸载如果Solr的达到transientCacheSize阈值(高级选项)。 |
现在,你不需要担心任何的属性列在表4.1中,当我们在本章中主要的关注点是solrconfig。collections1的例子包括核心的xml文件。重要的是要理解,Solr可以使用core.properties autodiscover内核在启动期间。一旦发现一个核心,Solr solrconfig定位。xml文件下SOLR_HOME / instanceDir / conf / solrconfig美元。xml,$ instanceDir /目录包含的核心。属性文件。Solr使用solrconfig。xml文件来初始化的核心。
既然我们已经看到了Solr标识配置文件在启动期间,让我们把注意力转到理解solrconfig的主要部分。solrconfg.xml,因为这将给你一个想法的在本章的其余部分。
4.1solrconfig.xml的概述
在solrconfig说明的概念solrconfig. xml,我们将建立工作在第二章通过使用预配置的示例服务器和Solritas example-search UI。开始,我们建议您从服务器的例子在第二章我们使用使用如下所示的命令清单。
清单4.1。从命令行启动示例服务器
cd $SOLR_INSTALL/example
java -jar start.jar
一旦你开始服务器,去Solr管理控制台:http://localhost:8983 / Solr,单击左边的collection1链接core,然后链接的文件。这将显示所有collection1核心包括配置文件的目录结构。单击solrconfig。xml显示活跃的配置设置的collection核心包括在你的电脑上运行。该清单显示了solrconfig的压缩版本。xml,给你一个想法的主要元素。
清单4.2。压缩版本的sorlconfg.xml
正如您可以看到的,solrconfig。xml有很多复杂的部分。好消息是,你不必担心这些,直到你遇到一个特定的需要。另一方面,这是一个好主意在solrconfig精神的注意solrconf.xml,它展示了如何灵活Solr是和什么类型的行为你可以控制和扩展。
当组织这一章,我们选择目前订单的配置设置建立在前面,而不是遵循XML文档中的元素的顺序。之前我们现在Solr的请求处理框架讨论缓存,即使在xml缓存相关设置request-handler之前设置。我们采取这种方法,因为你应该理解如何处理请求之前你担心与缓存优化一个特定类型的请求。但这并意味着你将不得不跳来跳去的XML文档作为你通过这一章的工作。
索引设置延迟第五章
solrconfig。xml文件包含index-management设置。但我们可以节省下一章讨论与索引相关的设置,这样,你就可以了解他们在获得索引过程的基本理解。具体来说,可以忽略以下元素,直到第五章:
<dataDir> ... </dataDir>
<directoryFactory name="DirectoryFactory" class="..."/>
<indexConfig> ... </indexConfig>
<updateHandler class="solr.DirectUpdateHandler2"> ...
<updateRequestProcessorChain name="langid"> ...
4.1.1。常见的XML数据结构和类型的元素
当你通过solrconfig. xml工作。,您会遇到常见的xml元素,Solr用来表示各种数据结构和类型。表4.2提供了简要的描述和实例类型的元素,在solrconfig Solr使用。xml文档。你也会遇到这些元素在XML搜索结果,所以请花时间熟悉这个Solr-specific语法。
表4.2。Solr的数据结构和类型的XML元素值
Element |
Description |
Example |
<arr> |
Named, ordered array of objects |
<arr name="last-components"> <str>spellcheck</str> </arr> |
<lst> |
Named, ordered list of name/value pairs |
<lst name="defaults"> <str name="omitHeader">true</str> <str name="wt">json</str> </lst> |
<bool> |
Boolean value—true or false |
<bool>true</bool> |
<str> |
String value |
<str>spellcheck</str> or <str name="wt">json</str> |
<int> |
Integer value |
<int>512</int> |
<long> |
Long value |
<long>1359936000000</long> |
<float> |
Float value |
<float>3.14</float> |
<double> |
Double value |
<double>3.14159265359</double> |
主要区别< arr >和< lst>是< lst >的每个子元素名称属性,但< arr >子元素是匿名的。
4.1.2。应用配置更改
学习配置不是最令人兴奋的任务,这样帮助你保持兴趣,我们建议你尝试配置更改这一章。您的更改不会应用,直到你重新加载Solr核心,然而。Solr solrconfig并不看变化。xml和应用自动;你必须采取一个明确的行动应用配置更改。目前,应用配置更改的最简单方法是使用重载按钮从管理控制台的核心管理页面,如图4.2所示。
图4.2。重新加载一个核心应用配置更改从核心管理页面。
如果你在本地运行Solr,点击刷新按钮的collection1核心包括验证功能。在本章结束时,我们会看到另一种方式重新加载内核编程,使用核心管理API。
4.1.3。各种各样的设置
现在我们已经介绍了一些配置的背景,让我们开始我们的solrconfig之旅solrconfg.xml通过观察杂项Solr服务器的设置。下一个清单显示了配置设置在本节我们将讨论。
清单4.3。全局设置的顶部附近
Lucene版本
Lucene和Solr认真对待向后兼容性。< luceneMatchVersion >元素控制Lucene索引是基于的版本。如果你开始,然后使用版本,在例子中指定服务器,如:
<luceneMatchVersion>4.7</luceneMatchVersion>
现在想象一下,经过几个月的运行Solr和索引数以百万计的文件,你决定,你需要升级到最新的版本的Solr。当你开始更新的Solr服务器,它使用< luceneMatchVersion >明白你的指数是基于哪个版本,是否禁用Lucene的特性,取决于后面的版本比指定。
你将能够运行Solr的升级版本与你的大index,但在某些时候你可能需要提高< luceneMatchVersion >利用Lucene的新功能和错误修正。在这种情况下,你可以重建索引文件,或者使用Lucene的内置index-upgrade工具。[1],因为对未来的问题,我们会参考你的JavaDoc指令如何运行升级工具。
加载依赖JAR文件
<lib>元素允许您添加JAR文件Solr的运行时类路径,这样就可以找到插件类。让我们来看看几个<lib>元素的solrconfig.xml示例。看到<lib>元素是如何工作的。
<lib dir="../../../contrib/langid/lib/" regex=".*\.jar" />
<lib dir="../../../dist/" regex="solr-langid-\d.*\.jar" />
每个<lib>元素识别一个目录和一个正则表达式匹配的目录中的文件。注意,dir属性使用相对路径,评估从核心目录根,通常被称为核心instanceDir。对于collection1核心服务器的示例中,包括instanceDir SOLR_INSTALL$/ / solr /collection/包括例子;记住,$ SOLR_INSTALL /的变量名称的目录提取solr分布存档。因此,先前的两个示例<lib>元素导致以下JAR文件被添加到Solr的类路径:
jsonic-1.2.7.jar (from contrib/langid/lib/)
• langdetect-1.1-20120112.jar (from contrib/langid/lib/)
• apache-solr-langid-4.7.0.jar (from dist/)
注意,apache-solr-langid。jar的版本号文件可能不同,这取决于您正在使用哪个版本的Solr 4。或者,您可以使用路径属性来识别一个JAR文件,等
<lib path="../../../dist/solr-langid-4.7.0.jar" />
You can also put JAR files for plugins in the $SOLR_HOME/lib/ directory, such as $SOLR_INSTALL/example/solr/lib/.
启用JMX
< jmx >元素激活Solr的mbean允许系统管理员监控和管理核心Solr组件从流行的系统监视工具,比如Nagios。简而言之,一个MBean是一个Java对象,使配置属性和统计使用Java管理扩展(JMX)API。mbean可以autodiscovered和自检JMX-compliant工具。这允许Solr集成到您的现有system-administration基础设施。我们将讨论如何启用外部监测Solr在12章更详细地通过JMX。
你不需要一个外部JMX-enabled监控工具看到Solr的mbean。Solr管理控制台提供访问所有Solr的mbean。图4.3是一个文物核心包括截图的MBean。
图4.3。检查插件的SolrCore MBean /collection1核心包括统计页面
相关推荐
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-...
《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文件...
在本文中,我们将深入探讨如何在Windows 7 64位环境下安装配置Solr 4.1,并结合IK分词器进行中文处理,以及使用SolrJ进行索引操作。 一、安装配置Solr 4.1 1. **安装JDK**: - 首先,下载并安装JDK 7的64位版本,...
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下面
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 ...