solr学习总结(一)

来源:互联网 发布:亿赛通加密软件 编辑:程序博客网 时间:2024/05/18 00:30

solr服务的搭建已经在前面完成了!(solr安装教程:solr服务的搭建)


1.solr本身对中文分词的处理不是太好,所以中文应用很多时候都需要额外加一个中文分词器对中文进行分词处理,ik-analyzer就是其中一个不错的中文分词器。在这里先给大家分享一下(IK Analyzer 2012FF_hf1),下载解压后传入服务器

   将目录下的 IKAnalyzer.cfg.xml 、mydict.dic 、ext_stopword.dic 、复制到tomcat下的classes目录下。(附带命令)

   创建classes目录:mkdir /usr/local/solr/tomcat/apache-tomcat-7.0.47/webapps/solr/WEB-INF/classes

   复制上述文件:cd IK\ Analyzer\ 2012FF_hf1/ 

                            cp IKAnalyzer.cfg.xml  ext_stopword.dic  mydict.dic /usr/local/solr/tomcat/apache-tomcat-7.0.47/webapps/solr/WEB-INF/classes/ 

2.指定分词器,与定义业务域和复制域

   进入上文配置的solrhome中找到 schema.xml 并进行编辑

   cd   /usr/local/solr/solrhome/collection1/conf/

   vim  schema.xml 

  Solr中的字段必须是先定义后使用。该配置要与我们的实际业务关联。

  业务字段判断标准:

  1、在搜索时是否需要在此字段上进行搜索。例如:商品名称、商品的卖点、商品的描述

  2、后续的业务是否需要用到此字段。例如:商品id。

  这次测试项目需要用到的字段:

  1、商品id

  2、商品title

  3、卖点sell_point

  4、价格price

  5、商品图片image

  6、商品分类名称category_name

  7、商品描述item_des

  在   schema.xml 添加业务字段(除了id之外其他字段都应创建对应solr业务字段)

 

<!-- 创建业务域,并指定分词器类型 -->  <fieldType name="text_ik" class="solr.TextField">    <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>  </fieldType><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" /><!--创建复制域 将其他域上的搜索关键词都复制到一个域上 是solr对搜所的优化 --><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"/>


 3.solrJ向索引库导入数据
 





原创粉丝点击