solr 本地搭建

 
1. 运行
D:\solr-4.7.2\example
--> java -jar start.jar
 
2. 添加插件IK
D:\solr-4.7.2\example\solr-webapp\webapp\WEB-INF\classes
-->IKAnalyzer.cfg.xml
-->stopword.dic
 
D:\solr-4.7.2\example\solr-webapp\webapp\WEB-INF\lib
-->IKAnalyzer2012FF_u1.jar
一定要用这个版本的,兼容 solr 4.7.2
 
3.schema.xml  使用IK进行索引和分词查询
-->    <fieldType name="text_ik" class="solr.TextField">
-->           <analyzer type="index" isMaxWordLength="false"
-->               class="org.wltea.analyzer.lucene.IKAnalyzer"/>
-->          <analyzer type="query" isMaxWordLength="true"
-->                class="org.wltea.analyzer.lucene.IKAnalyzer"/>
-->        </fieldType>
 
4. mysql 数据库进行分词索引
solrconfig.xml  添加数据库导入缓存或更新缓存
-->  <requestHandler name="/dataimport" -->        class="org.apache.solr.handler.dataimport.DataImportHandler">
-->    <lst name="defaults">
-->      <str name="config">data-config.xml</str>
-->    </lst>
-->   </requestHandler>
 
5.需要的jar包
D:\solr-4.7.2\example\solr-webapp\webapp\WEB-INF\lib
mysql-connector-java-5.1.25.jar
solr-dataimporthandler-4.7.2.jar
solr-dataimporthandler-extras-4.7.2.jar
 
 
6.data-config.xml
<dataConfig>
    <dataSource driver="com.mysql.jdbc.Driver" url="jdbc:mysql://192.168.10.15:3306/wenda" user="root" password="root@sg"/>
    <document name="wendaQuestion">
        <entity pk="id" name="question"  query="select * from wenda_question where delete_flag != 1"
             deltaQuery="select id from wenda_question where updated_at > '${dataimporter.last_index_time}'"
             deletedPkQuery="select id from wenda_question where delete_flag = 1"  
             deltaImportQuery="select * from wenda_question where ID='${dataimporter.delta.ID}'"
            >
 
            <field column="id" name="id" />
            <field column="title" name="title" />
            <field column="answer_count" name="answerCount" />
            <field column="default_category_id" name="categoryId" />
            <entity name="categoryids" query="SELECT GROUP_CONCAT(catagory_id) as categoryids FROM wenda_question_category_ref t WHERE  question_id ='${question.id}'" />
            <entity name="acceptCount" query="SELECT COUNT(1) AS acceptCount FROM wenda_answer  WHERE accept_flag = 1 AND   question_id ='${question.id}'" />
 
        </entity>
    </document>
</dataConfig>
 
7.schema.xml 字段映射
   <field name="id" type="long" indexed="true" stored="true"  required="true" />
   <field name="title" type="text_ik" indexed="true" stored="true" />
   <field name="answerCount" type="long" indexed="true" stored="true"   />
   <field name="categoryId" type="long" indexed="true" stored="true"   />
   <field name="categoryids"  type="string" indexed="true" stored="true"  />
   <field name="acceptCount" type="long" indexed="true" stored="true"   required="true" />
 
8.elevate.xml  id 为long 出错修复  MA147LL/A 换成 1    IW-02 换成 2
<query text="ipod">
   <doc id="1" />  <!-- "MA147LL/A" put the actual ipod at the top -->
   <doc id="2" exclude="true" /> <!-- "IW-02"exclude this cable -->
</query>
 





转载于:https://www.cnblogs.com/sblig/p/4765536.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值