schema.xml基本配置

schema.xml是什么?

schema.xml 是用来定义索引数据中的域的,包括域名称,域类型,域是否索引,是否分词,是否存储,是否标准化,是否存储项向量等等。

 

schema.xml属性介绍

a、schema.xml配置文件的根元素就是schema, 有个name属性,可自定义,如下:

b、schema.xml配置文件的根元素下主要有两个标签:field和fieldType,field表示域(类比为表字段),用来定义域,fieldType用来定义域类型(类比为字段类型)。

 

field属性介绍

a、name: 表示域的名称,必填项

b、type: 域类型的名称,与fieldType元素的name属性值对应,必填项

c、indexed: true即表示需要对该域进行索引,一般如果你需要在该域上进行查询或排序时,则需要配置为true, 默认值为false

d、stored: 表示是否需要把域值存储到硬盘上,查询的结果要显示哪个字段,就将属性值设为true

e、required:表示该域是否必须有值

f、multiValued: 表示这个域是否可以存储多个值,若设置为true,即表示这是一个多值域

 

dynamicField

动态域,类似于普通的field,区别在于name使用通配符匹配,这样可以模糊匹配多个域(类似于表里面冗余了很多有规律的扩展字段,为的是在业务需要时,不用修改schema结构。修改结构意味着需要重启,需要中断业务)。系统根据域类型内置了很多动态域,比如:*_i、*_s等等

 

copyField

复制域,表示把某个域(可以是多个域)的值复制到一个目标域上面,举例:

如上配置就表示把code和name这两个域的值全部复制到keywords这个新域上面,需要注意:source域中有一个是多值域,则dest域就为多值域

 

你可能感兴趣的:(solr)