环境介绍
使用的solr版本为8.4,部署再tomcat上的,使用的linux是centos7-aliyun
直奔主题
在solr以前的版本,如果插入的这个属性在sechma.xml中没有定义就会报错,但是在如今的全新版本下,自己随便命名的属性是不会报错的,数据类型默认是一个ArrayList(在java层面上是ArrayList)。
配置前的增加数据
结果
所以在tomcat环境下的solr如何自定义属性的数据类型呢,请看如下图解。
在tomcat路径/solrhome/configsets/_default/conf下的文件中,有一个文件叫managed-schema,该文件的作用就是定义属性的数据类型的。
/solrhome为solr的web.xml文件中配置文件所存放的位置,可以自己另行配置成其他的名字
在这里我顺便安利下大家FinalShell这个软件,用它来操作linux真的非常舒服。
我们打开managed-schema这个文件
红框就是我所添加的内容,该标签标识,只要那个属性符合xxx_name,那么这个属性的数据类型就是String类型而不是ArrayList。
保存退出完成修改。
但是我们知道,我们增加数据的操作实际上是对core的操作,上述的配置文件并不是core的文件,所以我们在/solrhome下创建一个文件夹叫做new_core,然后将/solrhome/configsets/_default文件夹下的conf文件夹复制进new_core文件夹中。
所以接下来我们再创建core
这样一来,我们用这个core新增的那条数据中,xxx_name的属性的数据类型是String
结果如下