lucene_06_solr域

solr域在家目录下面solr_homecollection1conf中的schema.xml里面定义。

域必须要先在schema.xml下定义后才能使用。

solr在操作Field域时需要在schema.xml中定义(根据自己的业务需求自定义)。

1、唯一域

 <!-- id 域 也叫唯一域 每一个文档必须有唯一域 -->   
    <uniqueKey>id</uniqueKey>

2、动态域

   <!-- 动态域  *_i:通配符 -->
   <dynamicField name="*_i"  type="int"    indexed="true"  stored="true"/>
   <dynamicField name="*_is" type="int"    indexed="true"  stored="true"  multiValued="true"/>
   <dynamicField name="*_s"  type="string"  indexed="true"  stored="true" />
   <dynamicField name="*_ss" type="string"  indexed="true"  stored="true" multiValued="true"/>

3、复制域 copyField 可以将多个Field复制到一个Field中,一便进行统一检索。例如:将商品名称和商品描述组合在一起,在索引的时候直接索引组合内容,防止两次查询。

<copyField source="title" dest="text"/>

例如:搜索title标题、description内容 、author作者,我们可以定义title、description、author的复制域

a、先创建域

  <field name="title" type="text_general" indexed="true" stored="true" multiValued="true"/>
   <field name="author" type="text_general" indexed="true" stored="true"/>
   <field name="description" type="text_general" indexed="true" stored="true"/>
   <field name="keywords" type="text_general" indexed="true" stored="false"/>

b、创建copyField 域

 <!--source:源域   dest:目标域 -->
   <copyField source="title" dest="keywords"/>
   <copyField source="author" dest="keywords"/>
   <copyField source="description" dest="keywords"/>
原文地址:https://www.cnblogs.com/getchen/p/8693871.html