1.4.2 solr字段类型--(1.4.2.1)字段类型定义和字段类型属性
1.4.2 solr字段类型
字段类型定义和字段类型属性
字段类型元素fieldType包含4个信息的类型:name,class-实现类的名称,analyzer-用于字段类型的分析,字段属性Field.
schema.xml中定义字段类型
字段类型定义在schema.xml中的types元素下,每个字段类型都在filedType元素之间定义,下面是一个 text_general的例子:
<fieldType name="text_general" class="solr.TextField"
positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory" />
<filter class="solr.StopFilterFactory" ignoreCase="true"
words="stopwords.txt" enablePositionIncrements="true" />
<filter class="solr.LowerCaseFilterFactory" />
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory" />
<filter class="solr.StopFilterFactory" ignoreCase="true"
words="stopwords.txt" enablePositionIncrements="true" />
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt"
ignoreCase="true" expand="true" />
<filter class="solr.LowerCaseFilterFactory" />
</analyzer>
</fieldType>
上面例子中的第一行包含了字段类型的名称text_general,以及对应的实现类solr.TextField,剩下部分定义了字段的分析.
实现类是负责确保该字段的正确处理,在这个class名称中,字符串solr时 org.apache.solr.schema 或者org.apache.solr.analysis的简称.
字段类型属性
字段类型的class决定了字段类型的大部分行为,但是可选的属性也可以被定义.如下面的日期类型定义了sortMissingLast和omitNorms两个属性.
<fieldType name="date" class="solr.DateField" sortMissingLast="true" omitNorms="true" />
这个字段类型的属性可以分为三大类:
指定字段类型的类.
常规属性-solr所有字段类型都支持的属性.
字段默认属性-使用
常规属性
| 属性 | 描述 | 值 |
| positionIncrementGap | 对于多值字段来说,在多个值之间指定一个距离,预防假的匹配现象. | integer |
| autoGeneratePhraseQueries |
对于文本字段,如果为true,solr自动为相邻词语生成短语查询, 如果false,词语之间必须使用双引号才被当作短语查询. |
true或false |
| docValuesFormat |
自定义一个DocValuesFormat,用于这个类型的字段,这就需要一个模式感知编码解码器(schema-aware), 如solrconfig.xml中定义的SchemaCodecFactory |
n/a |
| postingsFormat | 自定义一个PostingsFormat,用于这个类型的字段,这就需要一个模式感知编码解码器(schema-aware),
如solrconfig.xml中定义的SchemaCodecFactory |
n/a |
字段默认属性
| 属性 | 描述 | 值 |
| indexed | true:字段值可以用于查询检索 | true or false |
| stored | true:实际字段值在索引中存储 | true or false |
| docValues | true,字段值将被存放在一个一行为主(面向列)docValues结构中. | true or false |
| sortMissingFirst sortMissingLast |
如果排序字段不存在时,用于控制文档的布局.自solr3.5起,这些应用于所有的numeric字段,tri和日期字段. | true or false |
| multiValued | true,声明一个单独的文档的字段下可以包含多个值 | true or false |
| omitNorms | true,忽略与此字段关联的规范,对所有的原始字段(不分词),默认为true.如int,float,data,bool,string.只有文本字段和需要索引时间加权的字段 需要规范(norms). | true or false |
| omitTermFreqAndPositions | true,忽略词语的频率,位置和位置处的有效负载.对于不需要这些信息的字段,这是一个性能提升,同样也减少了索引的存储空间.依赖位置的查询,发布在使用这个选项上的字段,将无法找到匹配的文档.这个属性对所有的非文本字段默认为true. | true or false |
| omitPositions | 和omitTermFreqAndPositions相似,但是保存词语的频率信息. | true or false |
| termVectors termPositions termOffsets |
这些选项指示solr维护每个文档的全部词语的向量信息,可选择的包含每个词语在这些向量中出现的位置和偏移量信息.这些可以用于 加速高亮和其他辅助功能.但是在索引大小方面增加了相当一部分消耗.对于solr的标准使用来说时没有必要的. |
true or false |
1.4.2 solr字段类型--(1.4.2.1)字段类型定义和字段类型属性的更多相关文章
- C#基础(202)--类定义,字段与属性,自动属性,方法及常见错误
c#类的定义规范 字段与属性的比较: 字段: 字段主要是为类的内部做数据交换交互使用,字段一般是private 字段可以赋值,也可以取值 当字段需要为外部数据提供数据的时候,请将字段封装为属性,而不是 ...
- Scrapy框架的学习(6.item介绍以及items的使用(提前定义好字段名))转载https://blog.csdn.net/wei18791957243/article/details/86259688
在Scrapy框架中的items.py的作用 1.可以预先定义好要爬取的字段 items.py import scrapy class TencentItem(scrapy.I ...
- mysqlint类型的长度值mysql在建表的时候int类型后的长度代表什么
详解mysql int类型的长度值 mysql在建表的时候int类型后的长度代表什么 是该列允许存储值的最大宽度吗 为什么我设置成int(1), 也一样能存10,100,1000呢. 当时我虽然知道i ...
- sqlbulkcopy 使用DataTable作为数据源的数据类型问题--来自数据源的String类型的给定值不能转换为指定目标列的类型 uniqueidentifier
今天做批量插入的时候,SQLSERVER总是报错,错误提示“来自数据源的String类型的给定值不能转换为指定目标列的类型 uniqueidentifier”. 首先核对了一下定义的dataTable ...
- 定义类+类实例化+属性+构造函数+匿名类型var+堆与栈+GC回收机制+值类型与引用类型
为了让编程更加清晰,把程序中的功能进行模块化划分,每个模块提供特定的功能,而且每个模块都是孤立的,这种模块化编程提供了非常大的多样性,大大增加了重用代码的机会. 面向对象编程也叫做OOP编程 简单来说 ...
- 重构学习day01 类型码 类型码的上层建筑 与类型码相关的重构方法 1.使用子类代替类型码 2.使用状态或策略模式代替类型码
名词:类型码 类型码的上层建筑 重构方法 1.使用子类代替类型码 2.使用状态/策略模式代替类型码 类中存在方法把某个字段当作条件,根据字段值的不同,进行不同的处理.(自定义概念)则这个字段叫做:类型 ...
- SqlBulkCopy批量插入数据 显示 来自数据源的 String 类型的给定值不能转换为指定目标列的类型 smalldatetime。错误
因为需要大量插入数据,linq ef无法达到速度的要求,因此把模型转换成SQL ,使用SqlBulkCopy快速插入.但是去提示 来自数据源的 String 类型的给定值不能转换为指定目标列的类型 s ...
- ASP.NET - Web API,从简单类型到复杂类型的参数传递用例,以及传递简单string类型的解决办法
一,简单类型的传值 比如 public Users Get(int id) ,它可以使用两种方式获取: api/default/ $.get("/api/default",{id: ...
- 无法将类型为“System.Windows.Controls.SelectedItemCollection”的对象强制转换为类型“System.Collections.Generic.IList`1
在WPF中DataGrid 选择事件中获取SelectedItems 报错如下 无法将类型为“System.Windows.Controls.SelectedItemCollection”的对象强制转 ...
随机推荐
- 转】腾讯云CentOS 6.6安装 Nginx
原博文出自于: http://www.cnblogs.com/xdp-gacl/p/5290155.html 感谢! 一.下载Nginx 从Nginx的官网(http://nginx.org/en/d ...
- 修改hosts文件解决OneDrive被墙的问题
增加如下内容就可以了.如果不知道修改hosts文件的具体方法请自行百度. 134.170.108.26 onedrive.live.com 134.170.108.152 skyapi.onedriv ...
- mysql慢查询Slow Query Log和未使用索引(Not Using Indexes)查询配置和使用
mysql的“慢查询”指的是超过了允许的最大查询时间(long_query_time)的sql语句,而“未使用索引”查询顾名思义就是查询语句没有使用到索引的sql语句. 慢查询配置和使用 在msyql ...
- oracle关键字使用
v_Describe:=substr(v_Describe,0,length(v_Describe)-1); substr(目标内容,开始位置,截取长度) length(要计算的内容长度) 上述语句可 ...
- C++中回调函数(CallBack)的使用
如果试图直接使用C++的成员函数作为回调函数将发生错误,甚至编译就不能通过. 其错误是普通的C++成员函数都隐含了一个传递函数作为参数,亦即“this”指针,C++通过传递this指针给其成员函数从而 ...
- 数据库:mongodb与关系型数据库相比的优缺点
与关系型数据库相比,MongoDB的优点:①弱一致性(最终一致),更能保证用户的访问速度:举例来说,在传统的关系型数据库中,一个COUNT类型的操作会锁定数据集,这样可以保证得到“当前”情况下的精 ...
- [转载]SQL Server内核架构剖析
原文链接:http://www.sqlserver.com.cn 我们做管理软件的,主要核心就在数据存储管理上.所以数据库设计是我们的重中之重.为了让我们的管理软件能够稳定.可扩展.性能优秀.可跟踪排 ...
- redis的文件事件处理器
前言 C10K problem提出了一个问题,如果1w个客户端连接到server上,间歇性的发送消息,有哪些好的方案? 其中的一种方案是,每个线程处理多个客户端,使用异步I/O和就绪通 ...
- 为什么SSL证书流量暴增?
网络服务提供商 Sandvine 近日发布了一份报告,中提到了一个非常有趣的现象:和去年的数据相比,加密网络流量(SSL)在今年正在呈现出爆发式增长. 这个变化在欧洲表现得十分明显:和去年的 1.47 ...
- 史上最全APP推广渠道
群主做App推广的过程中,有过失败也尝过成功的甜头,渐渐地在APP推广尤其是渠道推广中积累了一些实战经验想同大家分享.如果各位有更好的推广建议,欢迎沟通分享哦! 一.应用商店推广 1.应用市场 ...