Solr中Field常用属性
FieldType
实例:<fieldType name="text_ik" class="solr.TextField"></fieldType>
name:就是FieldType的名称
class:指向了org.apache.slor.analysis对应的class名称,用这个来定义类型的行为
Field:
实例:<field name="content_ik" type="text_ik" indexed="true" stored="true" multiValued=”true”/>
Name:是查询时的名称
Type:这个是之前定义的FieldType的名称
Indexed:是否索引(true/false)
Stored:是否存储(是否将索引结果存储到索引库)
multiValued:是否多值(一般配合copyField使用)
copyField:
应用场景:我们在搜索时比如输入java,一篇文章分为标题、简介、内容等很多字段,输入的关键字需要制定solr中的域进行检索,不可能从一个表中将所有字段进行索引,因为有些字段不需要索引,所以出现copyField域,把多个域的关键词复制到同一个域,多个域时,可以放到一个域中。就不用定义那么多域了。搜索比较方便
实例:<copyField source="projectName" dest="keywords"/>
Source:是Field域的名称
Dest:是destination的缩写 目标域
dynamicField
实例:<dynamicField name=”*_i” type=”int” indexed=”true” stored=”true”/>
name为*_i,定义它的type为int,那么在使用这个字段的时候,任务以_i结果的字段都被认为符合这个定义