solr简单说就是一个索引,把数据库的一部分数据放到solr中实现快速查找,哪些字段放入solr中?如何配置?
1 IK-Analyzer上传到服务器,解压
cd /root/IK\ Analyzer\ 2012FF_hf1
2 复制war
cp IKAnalyzer2012FF_u1.jar /usr/local/solr/apache-tomcat-7.0.47/webapps/solr/WEB-INF/lib/
3 需要把IKAnalyzer需要的扩展词典及停用词词典、配置文件复制到solr工程的classpath。
cd /usr/local/solr/apache-tomcat-7.0.47/webapps/solr/META-INF
mkdir classes
cpIKAnalyzer.cfg.xml ext_stopword.dic mydict.dic/usr/local/solr/apache-tomcat-7.0.47/webapps/solr/META-INF/classes
4 配置fieldType
路径在/usr/local/solr/solrhome/collection1/conf
复制出来改好复制回去vim好难用 = =
添加到最下面
<fieldType name="text_ik"class="solr.TextField">
<analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>
5 配置业务字段- -唉
业务字段判断标准:
在搜索时是否需要在此字段上进行搜索。例如:商品名称、商品的卖点、商品的描述
后续的业务是否需要用到此字段。例如:商品id。
需要用到的字段:
- 商品id
- 商品title
- 卖点
- 价格
- 商品图片
- 商品分类名称
- 商品描述
Solr中的业务字段:
- id——》商品id
其他的对应字段创建solr的字段。
<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" /> <field name="item_desc" type="text_ik" indexed="true" stored="false" />
<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"/> <copyField source="item_desc" dest="item_keywords"/> |
9 重启tomcat
10 测试下