Solr - 域的分类及常用属性

什么是域?

域相当于数据库的表字段,用户存放数据。用户根据业务需要去定义相关的Field(域)。

 

域的分类

注:配置域,在/usr/local/solr/solrhome/collection1/conf/schema.xml中配置(根据自己的安装位置)。

①field普通域

大多数情况都可以用这个域来完成,主要定义了域名和域的类型。

②copyField复制域

复制域中有source叫做源域,dest代表目标域,在维护数据的时候,源域中的内容会复制到目标域中一份,从目标域中搜索,就相当于从多个源域中搜索一样。

③dynamicField动态域

solr中域名要先定义后使用,没有定义就使用会报错,如果没有定义的域名想使用可以模糊匹配动态域, 让没有定义的域名可以使用。

④uniqueKey主键域

在添加数据的时候必须有主键域, 没有会报错, 这个不用添加也不用修改, 就使用这个默认的域名id就可以。

 

域的常用属性

name:指定域(字段)的名称。

type:指定域(字段)的类型。定义了域(字段)的存储和处理方式,如String类型标示字段值将会被原样存储,不分词,不改变。

indexed:是否索引,索引的字段是在搜索的时候可以用它来查询或排序,在lucene中,被索引的字段将会建立倒排表.

stored:是否存储,一个字段是否被存储,取决于你是否想在Solr的查询结果中得到它,也就是说你是否想在查询结果中看到它,它将会消耗cpu、io和磁盘空间等资源。

required:是否必须,简单的说,如果这个字段是必须的,类似数据库的非空,如果添加的文档字段为空,则添加不到索引上去。默认这个值设置为假

default:字段的默认值,经常用在字段是必须的,有时候却又无法提供的时候,solr就会用默认值替代。

multiValued:是否多值,表示这个字段在一个文档中是否可以存储多个值的内容。

 

Solr停止和启动

配置文件修改之后,必须重启Solr。

停止命令:./shutdown.sh

启动命令:./startup.sh

 

普通域示例

<!-- 普通域:商品id、标题、价格、图片、分类、卖家、品牌、修改时间 -->
<field name="item_goodsid" type="long" indexed="true" stored="true"/>
<field name="item_title" type="text_ik" indexed="true" stored="true"/>
<field name="item_price" type="double" indexed="true" stored="true"/>
<field name="item_image" type="string" indexed="false" stored="true" />
<field name="item_category" type="string" indexed="true" stored="true" />
<field name="item_seller" type="text_ik" indexed="true" stored="true" />
<field name="item_brand" type="string" indexed="true" stored="true" />
<field name="item_updatetime" type="date" indexed="true" stored="true" />

 

复制域示例

可以根据哪些关键字(keywords)来搜索,暴露在外面的keywords无需存储。

<!-- 可以根据哪些关键字来搜索 -->
<!-- 暴露在外面的keywords无需存储 -->
<field name="item_keywords" type="text_ik" indexed="true" stored="false" multiValued="true"/>
<!-- keywrods来源 -->
<copyField source="item_title" dest="item_keywords"/>
<copyField source="item_category" dest="item_keywords"/>
<copyField source="item_seller" dest="item_keywords"/>
<copyField source="item_brand" dest="item_keywords"/>

 

动态域示例

<!-- 商品规格是什么:选择版本、颜色等  不确定,实际运行才确定 -->
<dynamicField name="item_spec_*" type="string" indexed="true" stored="true" />

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值