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.5) 使用枚举字段

  (1.4.2.6) 使用外部文件和程序

  (1.4.2.7) 字段属性使用案例

使用外部文件和程序

使用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. 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(日期 ...

  2. 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(日期 ...

  3. 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(日期 ...

  4. 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(日期 ...

  5. 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(日期 ...

  6. 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(日期 ...

  7. Solr字段类型field type的定义

    摘要: Solr的字段类型定义了Solr如何解析字段数据并将数据检索出来,了解Solr的字段类型定义有助于更好的配置与使用Solr. 字段类型的定义 字段类型的定义主要包含如下四个方面的信息: 名称 ...

  8. Solr字段类型

    一.一般属性 1.name fieldType的名称.该值用于字段定义中的类型属性,强烈建议名称仅包含字母数字和下划线,不能以数字开头[非强制]. 2.class 用于存储和索引此类型数据的类名.可以 ...

  9. 数据库中字段类型对应的C#中的数据类型

    数据库中字段类型对应C#中的数据类型: 数据库                 C#程序 int int32 text string bigint int64 binary System.Byte[] ...

随机推荐

  1. [原创]mac终端前面的计算机名怎么改??

    1.修改-之前的名称 mac环境,系统 OS X Yisemite,打开终端, 执行下面命令“Tmp”是你想要改的电脑名称 sudo scutil --set HostName Tmp 执行前,执行后 ...

  2. Oracle数据库编程:使用PL/SQL编写触发器

    8.使用PL/SQL编写触发器: 触发器存放在数据缓冲区中.        触发器加序列能够实现自动增长.        在触发器中不能使用connit和rollback.        DML触发器 ...

  3. [LeetCode] Consecutive Numbers 连续的数字 --数据库知识(mysql)

    1. 题目名称   Consecutive Numbers 2 .题目地址 https://leetcode.com/problems/consecutive-numbers/ 3. 题目内容 写一个 ...

  4. 【转】Android 实现蘑菇街购物车动画效果

    原文出处:http://blog.csdn.net/wangjinyu501/article/details/38400479 1.思路   目前想到两种方式实现这种效果,一是使用Tween动画,直截 ...

  5. android Notification和NotificationManager的使用

    Notification和NotificationManager 1.Broadcast Receiver组件没有提供可视化的界面来显示广播信息.这里我们可以使用Notification和Notifi ...

  6. js中的call及apply

    http://www.zhihu.com/question/20289071 func1.call(this, arg1, arg2); 或者 func1.apply(this, [arg1, arg ...

  7. TCP客户机-服务器

    1 僵尸进程 2 信号处理 信号: 1 由一进程发往另一进程 2 由内核发往某进程   僵尸状态: 父进程取回子进程的相关信息,进程的ID,终止状态,子进程的资源利用信息   编程时: 1 当派生子进 ...

  8. JSP中的TAG

    http://blog.csdn.net/hongweigg/article/details/12006849 JSP标签有两种实现方法,一种是使用tag 文件,一种是使用tld文件. 1.使用tag ...

  9. 数据库相关文章转载(1) MySQL性能优化之参数配置

    1.目的: 通过根据服务器目前状况,修改Mysql的系统参数,达到合理利用服务器现有资源,最大合理的提高MySQL性能. 2.服务器参数: 32G内存.4个CPU,每个CPU 8核. 3.MySQL目 ...

  10. 神秘常量复出!用0x077CB531计算末尾0的个数 -- De Bruijn 序列

    http://www.matrix67.com/blog/archives/3985 神秘常量复出!用0x077CB531计算末尾0的个数 大家或许还记得 Quake III 里面的一段有如天书般的代 ...