以商品搜索为例:
schema.xml中定义:
商品Id,商品标题,商品卖点,商品价格,商品展示图片,分类名称
创建对应的业务域。需要指定中文分析器。
创建步骤:
第一步:把IK Analyzer 2012FF_hf1添加到linux中
第二步:在linux中把中文分析器添加到工程中。
1、把IKAnalyzer2012FF_u1.jar复制到solr工程的lib目录下 /usr/local/solr/tomcat/webapps/solr/WEB-INF/lib
2、把扩展词典(ext_stopword.dic跟mydict.dic)、配置文件(IKAnalyzer.cfg.xml)复制到 /usr/local/solr/tomcat/webapps/solr/WEB-INF/classes目录下(默认是没有该目录的,所以要自己创建classes)。
第三步:在schema.xm配置一个FieldType,指定数据类型使用IKAnalyzer
schema.xml文件在/usr/local/solr/solrhome/collection1/conf/schema.xml这里
修改Solr的schema.xml文件,添加末尾添加FieldType:注意:只有solr.TextField才能自定义分析器
<fieldType name="text_ik" class="solr.TextField"> <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/> </fieldType> |
第四步:配置业务域,type制定使用自定义的FieldType。
设置业务系统Field:还是在schema.xm配置
//业务域 <field name="item_title" type="text_ik" indexed="true" stored="true"/> <field name="item_sell_point" type="text_ik" indexed="true" stored="true"/> <field name="item_price" type="long" indexed="true" stored="true"/> <field name="item_image" type="string" indexed="false" stored="true" /> <field name="item_category_name" type="string" indexed="true" stored="true" /> //定义个一个复制域,当向业务域的item_title,item_sell_point,item_category_name添加数据的//时候,会自动的复制在定义的复制域item_keywords中,该方式是对搜索的一种优化,以后要搜索相关信息就可以直接搜索item_keywords了 <field name="item_keywords" type="text_ik" indexed="true" stored="false" multiValued="true"/> <copyField source="item_title" dest="item_keywords"/> <copyField source="item_sell_point" dest="item_keywords"/> <copyField source="item_category_name" dest="item_keywords"/> |
|
第五步:重启tomcat
在solr左边菜单的 Analysis点击后右视图可以搜索预览