ExternalFileField类型使得一个指定的域值可来自于一个外部文件, 而不是在Solr index中。 对于这个指定的field, 文件中包含了key field及filed值的mapping关系。从另一个角度想, solr得到的值来自于外部文件, 而不是index.
注: 此外部域是不能被索引到
此ExternalFileField类型对于经常更新一个被多个文档引用的field是有用的. 假设你有一个完成的文档,并且以数字排序。 有可能每天或每小时想更新排序等级,然文档的其余内容则更新很少。 如果没有ExternalFileField, 只能更新每个文档的排序等级。 然而使用ExternalFileField更加有效, 因为所有文档的特殊field都是存储在同样一个外部文件里,保持多对一的关系, 这样就可以更改一处, 得到想要的效果。
例如:In managed-schema, field type的定义如下 :
<fieldType name="entryRankFile" keyField="pkId" defVal="0" stored="false" indexed="false" class="solr.ExternalFileField" valType="pfloat"/>
keyField属性定义了在外部文件的key值,在index中,经常使用唯一值来确定一个文档, 但是keyFiedl一般不用来作为确定一个在index 文档的唯一标识。如果没有相对应的外部文档, defVal能用来作为默认值,
- 外部文件格式化:
外部文件放置在Solr的索引目录, 默认是在$SOLR_HOME/data。 文件名应该是external_fieldname or external_fieldname.*的形式, 例如:文件的命名方式: external_entryRankFile or external_entryRankFile.txt.
- 重新加载外部文件
可以定义一个事件监听器来加载一个外部文件, 当一个searcher被加载或一个new searcher启动。
简单的定义如下:
<listener event="newSearcher" class="org.apache.solr.schema.ExternalFileFieldReloader"/>
<listener event="firstSearcher" class="org.apache.solr.schema.ExternalFileFieldReloader"/>
相关推荐
**paoding-dic-home.properties** 是Solr配置文件之一,主要负责配置Solr使用的外部词典路径及监控策略。 - **配置项含义解释** - `paoding.dic.home`: 指定了Solr使用的词典(dictionary)所在的目录路径。例如...
为了防止此类攻击,建议将Apache Solr部署在内部网络中,以限制外部访问。同时,必须配置身份验证和授权机制,确保只有经过身份验证的用户才能执行操作。由于Solr的路由结构相对固定,可以通过严格过滤URL来防止恶意...
4. **data-config.xml**: 如果你使用Solr的数据导入工具(DIH,DataImportHandler),此文件定义了如何从外部数据库或其他数据源导入数据。它包含了数据库连接信息、SQL查询、实体和字段映射等配置。 5. **...
Solr支持多种数据源的导入,如CSV、XML、JSON等,通过数据导入工具(DataImportHandler, DIH)可以方便地将外部数据导入到Solr索引中。同时,Solr还支持实时更新和删除操作,使得搜索结果始终与数据源保持一致。 在...
在Solr6版本中,DataImportHandler(DIH)是一个非常重要的特性,它允许Solr从外部数据源导入数据并建立索引。在"solr6--solr-dataimporthandler-scheduler-1.1"这个项目中,我们关注的重点是DIH的调度功能,也就是...
`solr-dataimporthandler-6.5.1.jar` 是Solr DataImportHandler的核心库,用于从外部数据源如数据库或文件系统导入数据。DataImportHandler(DIH)是一个强大的工具,允许Solr与各种数据源进行交互,将这些数据转换...
将 Solr 与 Tomcat 进行整合,可以使 Solr 成为一个可被外部应用访问的服务,便于进行分布式部署和管理。 #### 二、环境准备 1. **下载所需软件**: - Solr 4.10.2 - Apache Tomcat 6.0.36 2. **解压安装**: ...
这是Solr加载所有外部库的位置。 3. **配置Solr核心**:接下来,你需要在你的Solr核心(collection)配置文件`solrconfig.xml`中添加IK分词器的相关配置。在`<requestHandler>`或者`<searchComponent>`部分添加以下...
在Solr中,数据导入通常通过DataImportHandler (DIH) 完成,DIH是一个插件,负责从外部数据源(如数据库或文件系统)提取数据并将其转化为Solr可以处理的格式。而DataImportScheduler则是在DIH的基础上,增加了一个...
使用 Solr 的 DataImportHandler (DIH) 可以方便地导入外部数据源,例如 CSV 或 XML 文件。在 `solrconfig.xml` 中配置 DIH,并使用 `bin/post` 工具导入数据。 7. **查询与搜索**: 一旦数据导入完成,你可以...
为了保持索引与源数据的一致性,Solr引入了DIH,这是一个内建的机制,用于从关系数据库、XML文件等外部数据源导入数据,并将其转化为Solr可以处理的索引格式。 数据导入调度器(Data Import Scheduler)是DIH的一个...
6. **数据导入导出工具**:Solr提供了DataImportHandler(DIH)来导入外部数据源,如数据库、CSV文件等。相关jar包如`solr-dataimporthandler.jar`支持这一特性。 7. **插件系统**:Solr有一个强大的插件系统,允许...
然而,自 Solr 5 开始,它内置了 Jetty 服务器,使得用户可以直接通过 bin 目录中的脚本启动 Solr,不再需要外部容器,从而成为了一个独立的应用程序。 安装 Solr 5 及以后的版本变得相当简单,只需下载安装包,...
3. 加载数据:使用Solr的UpdateHandler将建议数据导入到Solr中,或者通过外部数据源(如JDBC)实时同步更新。 4. 查询建议:在查询请求中添加Suggest请求参数,Solr会返回匹配的建议结果。 描述中提到“已经配置好...
2. **添加外部库**:将 `example/lib/ext` 目录下的所有 JAR 包复制到 `Tomcat/webapps/solr/WEB-INF/lib` 目录下。 3. **日志配置**:在 `Tomcat/webapps/solr/WEB-INF` 目录下新建 `classes` 文件夹,并将 `...
对于定时任务,可能需要在外部的配置文件(如`dataimport.properties`)中设置调度器的相关属性,如cron表达式,这决定了数据导入的执行周期。 在实际操作中,确保Solr定时更新的稳定性和效率,需要注意以下几点: ...
你可以选择两种方式来部署Solr:一种是使用内置的Jetty服务器,另一种是通过Tomcat这样的外部应用服务器。 对于Jetty部署,只需解压缩Solr的发行包,进入bin目录,然后运行solr.cmd start命令即可启动Solr服务器。...
3. **数据导入导出(DIH,Data Import Handler)**:Solr提供了一种数据导入工具,可以方便地从外部数据源(如数据库)导入数据到索引。在本示例中,可能已经配置了DIH来导入数据,并进行了增、删、改操作。 4. **...