现在的位置: 首页 -> PHP学习 -> solr索引字段(field)的介绍

solr索引字段(field)的介绍

2015-04-16 23:41评论数 0 ⁄ 被浏览 18234 views+

solr服务器搭建好之后,接着我们会导入数据到solr,将数据生成索引文件,供使用者通过solr服务查询到想要的结果。在建索引、导数据之前,让我们先了解一下solr索引一些参数含义。


solr索引字段在schema.xml配置文件中,类似下面这些,包含在<fields>与</fields>之间的。


<field name="_version_" type="long" indexed="true" stored="true"/>

<field name="id" type="string" indexed="true" stored="true" multiValued="false" required="true"/>

<field name="title" type="text_general" indexed="true" stored="true" />

<field name="content" type="text_general" indexed="true" stored="false" />


上面表示我要建立id,title,conten三个索引字段。_version_是一个特殊的字段,不能删除的,它是记录当前索引版本号的。


再介绍一下索引字段参数的含义:


属性

描述

name

字段类型名

class

java类名

indexed

默认true。 说明这个数据应被搜索和排序,如果数据没有indexed,则stored应是。

stored

默认。说明这个字段被包含在搜索结果中是合适的。如果数据没有stored,则indexed应是。

omitNorms

字段的长度不影响得分和在索引时不做boost时,设置它为。一般文本字段不设置为。

termVectors

如果字段被用来做more like this 和highlight的特性时应设置为。

compressed

字段为压缩的,这也许会导致索引跟搜索速度变慢,不过可以减少存储空间,只有StrField和TextField是可以压缩,适合字段的长度大于200个字符。

multiValued

字段多于一个值的时候,可设置为。


下面还有动态字段,就是 <dynamicField name="*_i"  type="int"    indexed="true"  stored="true"/> 这样形式的字段。


动态字段的设置,用于后期自定义字段,通过对域的模式匹配字段名称的规范,*号通配符。例如: 例如:姓名=“* _i”将匹配任何结束_i(如myid_i,z_i)。


还有一个特殊的字段copyField,它通常用于检索时用的字段,这样就只对这一个字段进行索引分词就行了,copyField的dest字段如果有多个source一定要设置multiValued=true,否则会报错的。

 

文章出自:https://www.daixiaorui.com/read/144.html 本站所有文章,除注明出处外皆为原创,转载请注明本文地址,版权所有。

目前有 0 条评论  @我要评论

    您的每一个评论都是对我的一份支持

     博客二维码

    昵称 *

    邮箱 *