schema.xml基本配置

schema.xml是什么?

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

 

schema.xml属性介绍

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

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

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

<field name="keywords" type="text_ik" indexed="true" stored="false" multiValued="true"/>

<copyField source="code" dest="keywords"/>

<copyField source="name" dest="keywords"/>

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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值