域的简介:域相当于数据库的表字段,用户存放数据,因此用户根据业务需要去定义相关的 Field
(域),一般来说,每一种对应着一种数据,用户对同一种数据进行相同的操作。
域的常用属性:
· name:指定域的名称
· type:指定域的类型
· indexed:是否索引
· stored:是否存储
· required:是否必须
· multiValued:是否多值
分析根据我们搜索页面的业务域按一下原则进行:
1. 要不要根据此字段进行搜索
2. 此字段结果需不需要显示
3. 用不用的到此字段
满足以上3个条件中的一个,就需要配置为业务域
分词器的配置:我们已经在solr在window的安装中已经提到了ik分词器插件的安装,安装完后我们需要在solrhome的schema,xml中来配置ik分词器,配置如下:
<!-- ik分词器 -->
<fieldType name="text_ik" class="solr.TextField">
<analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>
一般域的配置:
<field name="item_goodsid" type="long" indexed="true" stored="true" />
域为item_goodsid我们在使用spring data solr 的时候会用到这个域
type就是指定这个域存放的数据类型
indexed=true就是需要索引
复制域的配置:
<!-- 复制域 -->
<field name="item_keywords" type="text_ik" indexed="true" stored="false" multivalued="true"/>
<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="attr_*" type="string" indexed="true" stored="true" multiValued="true"/>