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[] ...
随机推荐
- hdu 5510 Bazinga
http://acm.hdu.edu.cn/showproblem.php?pid=5510 Problem Description: Ladies and gentlemen, please sit ...
- POJ3185(简单BFS,主要做测试使用)
没事做水了一道POJ的简单BFS的题目 这道题的数据范围是20,所以状态总数就是(1<<20) 第一次提交使用STL的queue,并且是在队首判断是否达到终点,达到终点就退出,超时:(其实 ...
- initialSize,maxTotal,maxIdle,minIdle,maxWaitMillis
初始化连接数:默认值 0 同一时刻可分配最大连接数:默认值 8 ,设置为负数时不做限制 最大空闲连接,默认值 8 ,超出连接将被释放 最小空闲连接数,默认值 0 请求连接最大等待时间(毫秒),默认值 ...
- 解决sqlserver使用IP无法连接的问题,用localhost或者‘“.”可以连接
今天装了一个mssql发现用ip无法连接但是用localhost和“.”却可以连接,纠结了一天终于找到了问题的解决办法: 打开mssql配置管理器(我点电脑---->右键选择管理--->服 ...
- My集合框架第五弹 最小堆
二叉堆(以最小堆为例),其具有结构性质和堆序性质结构性质: 堆是一棵完全的二叉树,一颗高为h的完全二叉树有2^h到2^h-1个节点,高度为log N 而且该结构可以很容易的使用数 ...
- Oracle 数据库链接
SQL> CREATE DATABASE LINK mydblink 2 CONNECT TO test IDENTIFIED BY test123 3 USING ...
- Hadoop集群基准测试
hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.2.0-tests.jar TestDFSIO -wri ...
- ngTbale假分页实现排序、搜索、导出CSV等功能
一. ngTable功能简化 使用ngTable经常有分页,排序,过滤等功能,实现诸多功能较为麻烦.为了方便开发过程,可以抽取一些table共同点写一个公有方法. 注意: 1. 由于很多特别的需求,可 ...
- The Aggregate Magic Algorithms
http://aggregate.org/MAGIC/ The Aggregate Magic Algorithms There are lots of people and places that ...
- java连接mysql批量写入数据
1.采用公认的MYSQL最快批量提交办法 public void index() throws UnsupportedEncodingException, Exception { //1000个一提交 ...