solr学习之路2---Field和FieldType的介绍
来源:互联网 发布:python 写入环境变量 编辑:程序博客网 时间:2024/06/05 16:17
上一篇已经介绍了solr怎么去搭建,今天说下solr中的Field和FieldType
1.什么是Field
在我认为,Field就相当于数据库中的字段,而FieldType就是数据库中列的类型了,我不喜欢把他叫我索引,我感觉索引总是不怎么好去理解。
2.Field的配置
2.1 普通的Field
Field是在我们所配置的solrhome的collection1\conf\schema.xml中,
<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" /> <field name="sku" type="text_en_splitting_tight" indexed="true" stored="true" omitNorms="true"/>这就是系统自带的Field
其中name就是Field的名字
type则是我们所配置的FieldType
index有两个值,true或者false,代表的是是否作为索引进行查询,在实际开发中,当你需要这一Field需要被查询这设置为true,这样可以加快运行效率
stored也一样有两个值,代表的是是否将field域中的内容存储到文档域,简单通俗的来说,就是你这一个Field需不需要被当作查询结果返回。
multiValued指的是是否允许有多个值,一般是被用来copyFiled。
omitNorms指的是是否使用Norms,norms是否启用,代表着solr中的排序 打分规则中的 length normalization 和 boosting
2.2 copyField
<field name="remark1" type="text_general" indexed="true" stored="true"/><field name="remark2" type="text_general" indexed="true" stored="true"/><field name="search" type="text_general" indexed="true" stored="false" multiValued="true"/><!-- copyfield字段,把上面的字段放入一个字段中--><copyField source="remark1" dest="search"/>
<copyField source="remark2" dest="search"/>这是我写的CopyField,如果配了CopyField就是代表把上面的remark1和remark2字段作为一个字段进行查询,当你查询search字段时,就同时查询了remark1和remark2字段。而search字段也不需要我们自己去写,当你配置了remark1和remark2字段时,search同时就被配置了,但是search里面存的就remark1和remark2中字段的值,不包括他们的FieldName。
source中写的是需要被同时查询的字段名
dest中写的是需要被配置到那个字段。
还可以配置search为默认字段,当不写查询的FieldName时,默认使用search,但是我觉得这个没有什么用,因为我们使用的默认的查询拦截器是/select,而/select中可以配置自己的默认查询字段,系统的默认字段是text。
2.3 dynamicField
dynamicField看字面意思就是动态属性,在应用中的使用就是配置了动态字段,只需要按照相应的格式去书写字段名,系统就会把它认为是你配置好的字段类型,以下是例子:
<dynamicField name="*_i" type="int" indexed="true" stored="true"/> <dynamicField name="*_is" type="int" indexed="true" stored="true" multiValued="true"/> <dynamicField name="*_s" type="string" indexed="true" stored="true" /> <dynamicField name="*_ss" type="string" indexed="true" stored="true" multiValued="true"/>
例如你在使用时只需要写xxxx_i,系统就会把这个字段认为是int类型的,然后index为true,stored为ture,而这个xxxx_i字段也就不需要去在Field中配置了,也是很简单。3.FieldType
其实就是配置Field的类型,因为一个类型对应了一个具体的类。
阅读全文
1 0
- solr学习之路2---Field和FieldType的介绍
- solr学习之三--------Document、FieldType
- solr之 document和FieldType等
- Solr学习(2)----FieldType总结
- Solr之fieldtype
- schema各个field和fieldType的基本解释
- Solr为不同的fieldType配置Similarity
- solr学习之四--------Field、CopyField、DynamicField
- solr学习之四--------Field、CopyField、DynamicField
- 怎么知道属性表的field的fieldtype
- solr FieldType代码
- Solr Multivalue field的索引和搜索
- 2016重走solr长征之路:solr的多field字段查询
- solr学习Field、CopyField、DynamicField
- Solr-----10、Solr内置fieldType类型
- solr 之Field、CopyField、DynamicField
- Solr学习之路1---solr的搭建
- solr schema.xml FieldType属性详解
- viewpage中对于fragment的生命周期
- react(三)组件内部状态state使用方式
- ios录音功能实现
- hibernate的资料汇总
- ROS如何入门
- solr学习之路2---Field和FieldType的介绍
- pycharm快捷键
- python链接Mysql读取中文乱码
- 任务繁忙的ACM协会
- Masonry的约束布局,scrollView与cell的自动算高
- 8. String to Integer (atoi)
- MySQL安装之后如何启动
- linux shell 关闭 端口 对应的 进程
- 【PDF下载】大数据峰会之MaxCompute大数据语言的新发展