1.4.2 solr字段类型--(1.4.2.6)使用外部文件和程序
1.4.2 solr字段类型
使用外部文件和程序
使用ExternalFileField类型
在solr索引的外部,在一个文件里指定一个字段的值,ExternalFileField使这种情况成为了可能.对于这样的字段,文件中包含了字段和字段值的映射.另一种想到的方法就是,在solr索引的时候替换掉指定的文档中的字段,solr从外部文件中查找值.
注意:ExternalFileField是不可搜的,它们可以用作函数查询或者显示.
ExternalFileField是很方便的,如果你想要更新许多文档(document)中指定的字段比更新剩下的文档更频繁.例如,假设你已经实现了基于的意见数量的文档排名,你需要每天或者每小时的更新这些排名,然而这文档剩下的内容可能会很少的更新变动,如果没有ExternalFileField,你需要更新每一个文档的排名;使用ExternalFileField是非常有效的,因为所有文档的特殊字段的值都是存储在外部文件中的,能够随心所欲的经常的更新.
在schema.xml中定义如下:
<fieldType name="entryRankFile" keyField="pkId" defVal="0"
stored="false" indexed="false" class="solr.ExternalFileField" valType="pfloat" />
keyField属性定义了外部文件中使用的key值,它往往是这个索引的唯一的key.但是当keyField可以用来标记索引中的文档的话,就没有必要了.valType指定了值的类型. , or . 有效的值可以是pfloat, float, tfloat.这个属性可以忽略.
外部文件格式
这个文件位于solr索引目录,默认为 . $SOLR_HOME/data.文件名应该是external_fieldname或者external_ fieldname.*.对于上面的例子,文件应该被命名为external_entryRankFile或者external_entryRankFile.txt.
提示:如果所有文件使用.*(如.txt)显示,这最后的(按名称排序后)将被使用,以前的版本将被删除.
文件中,等号左边为映射的key字段,等号右边是字段值.
doc33=1.414
doc34=3.14159
doc40=42
这个列表中的key并不需要是唯一的,这个文件也不需要排序,但是如果排序之后,solr将会更快的执行查询.
重新加载一个外部文件
自solr4.1起,可能会定义一个事件监听,在搜索加载或者一个新的搜索开始时,重新加载外部文件,参考 Query-Related Listeners查阅更多信息,solrconfig.xml定义例子如下:
<listener event="newSearcher" class="org.apache.solr.schema.ExternalFileFieldReloader" />
<listener event="firstSearcher" class="org.apache.solr.schema.ExternalFileFieldReloader" />
预先分析字段类型
PreAnalyzedField提供了一种方式,发送到序列化标记(token)字节流,可选择的单独存储字段的值,使字段的信息存储和索引不需要额外的文本处理.在使用Lucene的TokenStream提供的全部丰富的属性时,如果用户想要提交这样的一些字段内容--这些内容已经被已经存在的外部文本处理管道处理(如这些文本内容已经嵌入的tokenized,annotated,stemmed,synonyms等).使用这个字段类型是很有用的.
序列化的格式使用可插拔的 PreAnalyzedParser接口的实现类.有两个外部实现:
JsonPreAnalyzedParser:就像它的名称所表示的那样,它解析使用JSON格式来表示字段内容的数据.如果这个字段类型不配置其他的解析器,这个就是默认使用的的解析器.
SimplePreAnalyzedParser:使用一个简单的严格纯文本格式,在一些条件下比JSON更容易创建.
只有一个参数parserImpl,参数值必须是一个实现PreAnalyzedParser接口的全类名.默认的参数值时org.apche.solr.schema.JsonPreAnalyzedParser
1.4.2 solr字段类型--(1.4.2.6)使用外部文件和程序的更多相关文章
- 1.4.2 solr字段类型--(1.4.2.7)字段属性使用案例
1.4.2 solr字段类型 (1.4.2.1) 字段类型定义和字段类型属性. (1.4.2.2) solr附带的字段类型 (1.4.2.3) 使用货币和汇率 (1.4.2.4) 使用Dates(日期 ...
- 1.4.2 solr字段类型--(1.4.2.5)使用枚举字段
1.4.2 solr字段类型 (1.4.2.1) 字段类型定义和字段类型属性. (1.4.2.2) solr附带的字段类型 (1.4.2.3) 使用货币和汇率 (1.4.2.4) 使用Dates(日期 ...
- 1.4.2 solr字段类型--(1.4.2.4)使用Dates(日期)
1.4.2 solr字段类型 (1.4.2.1) 字段类型定义和字段类型属性. (1.4.2.2) solr附带的字段类型 (1.4.2.3) 使用货币和汇率 (1.4.2.4) 使用Dates(日期 ...
- 1.4.2 solr字段类型--(1.4.2.3)使用货币和汇率
1.4.2 solr字段类型 (1.4.2.1) 字段类型定义和字段类型属性. (1.4.2.2) solr附带的字段类型 (1.4.2.3) 使用货币和汇率 (1.4.2.4) 使用Dates(日期 ...
- 1.4.2 solr字段类型--(1.4.2.2)solr附带的字段类型
1.4.2 solr字段类型 (1.4.2.1) 字段类型定义和字段类型属性. (1.4.2.2) solr附带的字段类型 (1.4.2.3) 使用货币和汇率 (1.4.2.4) 使用Dates(日期 ...
- 1.4.2 solr字段类型--(1.4.2.1)字段类型定义和字段类型属性
1.4.2 solr字段类型 (1.4.2.1) 字段类型定义和字段类型属性. (1.4.2.2) solr附带的字段类型 (1.4.2.3) 使用货币和汇率 (1.4.2.4) 使用Dates(日期 ...
- Solr字段类型field type的定义
摘要: Solr的字段类型定义了Solr如何解析字段数据并将数据检索出来,了解Solr的字段类型定义有助于更好的配置与使用Solr. 字段类型的定义 字段类型的定义主要包含如下四个方面的信息: 名称 ...
- Solr字段类型
一.一般属性 1.name fieldType的名称.该值用于字段定义中的类型属性,强烈建议名称仅包含字母数字和下划线,不能以数字开头[非强制]. 2.class 用于存储和索引此类型数据的类名.可以 ...
- 数据库中字段类型对应的C#中的数据类型
数据库中字段类型对应C#中的数据类型: 数据库 C#程序 int int32 text string bigint int64 binary System.Byte[] ...
随机推荐
- 【转】Hibernate利用@DynamicInsert和@DynamicUpdate生成动态SQL语句
原文链接:http://www.cnblogs.com/quanyongan/p/3152290.html 最近在使用Hibernate4中,发现两个很有奥秘的注解 @DynamicInsert 和 ...
- [原创]Devexpress XtraReports 系列 7 创建Drill-Down(向下钻取)报表
昨天发表了Devexpress XtraReports系列第六篇[原创]Devexpress XtraReports 系列 6 创建并排报表,今天我们继续. 今天的主题是创建Drill-Down报表. ...
- KextWizard 的使用方法;以及Kext安装的几种工具下载
a.将你需要安装的Kext拖到非中文的路径中: b.运行该软件,将Kext拖入下图对应的方框里,然后选择位置安装: c.选择修复权限和重建缓存(一个是修复Extra文件夹,一个是修复SLE) Kext ...
- 递归模式学习(recursion)
所谓递归,就是方法调用自身.对于递归模式来说,要有一个出口来让递归结束,避免出现死循环. 实例全排列: 从n中拿出m个元素进行排列,当n==m时为全排列. 利用递归就是:把n个元素轮流放入第一个位置, ...
- mysql中key 、primary key 、unique key 与index区别
一.key与primary key区别 CREATE TABLE wh_logrecord ( logrecord_id ) NOT NULL auto_increment, ) default NU ...
- ASP.NET读取配置文件发送邮件
之前写过一篇文章C#使用SMTP发送邮件 后来做了改进,改成读取独立的配置文件,本文只记录读取配置文件的部分,发送部分见上面的链接. 读取配置文件C#代码: using System; using S ...
- HTML5中script的async属性异步加载JS
HTML5中script的async属性异步加载JS HTML4.01为script标签定义了5个属性: charset 可选.指定src引入代码的字符集,大多数浏览器忽略该值.defer 可 ...
- js 中使用工厂方法和构造器方法
1 直接创建对象 <!DOCTYPE html> <html> <head lang="en"> <meta charset=" ...
- 用jquery判断当前显示器的分辨率,加载不同CSS
<link rel="stylesheet" type="text/css" id="css"><script langu ...
- 从零开始学C++之虚函数与多态(一):虚函数表指针、虚析构函数、object slicing与虚函数
一.多态 多态性是面向对象程序设计的重要特征之一. 多态性是指发出同样的消息被不同类型的对象接收时有可能导致完全不同的行为. 多态的实现: 函数重载 运算符重载 模板 虚函数 (1).静态绑定与动态绑 ...