设为首页 收藏本站
查看: 1701|回复: 0

[经验分享] 搭建网上商城基础搜索服务

[复制链接]

尚未签到

发表于 2016-12-17 07:58:21 | 显示全部楼层 |阅读模式
  现在正在开发网上商城项目,由于用户要求搜索速度高,采用solr进行建立基础搜索服务,实现关键词,商品属性,商品类型等多重条件搜索。
  1.下载solr3.6.1,IKAnalyzer2012_u5,ojdbc6_g.jar
  2. 把apache-solr-3.6.2文件夹中apache-solr-3.6.2\apache-solr-3.6.2\example\webapps\solr.war放到tomcat下面的webapp文件中
  3. 把apache-solr-3.6.2\apache-solr-3.6.2\example\solr文件夹是存放索引数据的主目录solr_home,可以放到其他目录,新建配置文件Tomcat\conf\Catalina\localhost\solr.xml
  添加内容: 
<Context docBase="D:\zwTomcat\webapps\solr.war" debug="0" crossContext="true">
<Environment name="solr/home" type="java.lang.String" value="D:\solr" override="true"/>
</Context>
  4. 将oracle jdbc驱动放到tomcat_home/webapps/solr/WEB_INF/lib中
  5. 启动tomcat,打开连接http://localhost:8090/solr,如果可以打开连接说明配置成功。修改tomcat
的server.xml,增加字符集为utf-8
6. 配置IK分词器,打开solr_home\conf\schema.xml,<types></types>直接添加中文分词器,
把IKAnalyzer2012.jar拷贝到tomcat\webapps\solr\WEB-INF\lib
<fieldType name="text_ika" class="solr.TextField"> 
<analyzer type="index"> 
<tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory"  isMaxWordLength="false"/> 
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" /> 
<filter class="solr.LowerCaseFilterFactory"/> 
</analyzer> 
<analyzer type="query"> 
<tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory" isMaxWordLength="true"/> 
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" /> 
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/> 
<filter class="solr.LowerCaseFilterFactory"/> 
</analyzer> 
</fieldType>
7. 修改solrconfig.xml文件
添加
<requestHandler name="/dataimport"  
     class="org.apache.solr.handler.dataimport.DataImportHandler"> 
    <lst name="defaults"> 
      <str name="config">db-data-config.xml</str> 
    </lst> 
</requestHandler>
修改jar路径
<lib dir="D:/solr/dist/" regex="apache-solr-dataimporthandler-\d.*\.jar" />
8.
建立db-data-config.xml文件
添加导入字段和sql语句,在配置数据库列名和搜索字段名称全部是大写否则有些功能没有实现
<dataConfig> 
  <dataSource type="JdbcDataSource" 
   driver="com.mysql.jdbc.Driver" 
   url="jdbc:mysql://localhost:3306/mytest" 
   user="root" 
   password="root" 
   /> 
 <document name="documents1" > 
        <entity name="documents" 
          query="select id,title,content,date_added from documents" 
          deltaImportQuery="select  id,title,content,date_added  from documents where ID='${dataimporter.delta.id}'" 
          deltaQuery="select id  from documents where date_added > '${dataimporter.last_index_time}'" 
          deletedPkQuery="select id  from documents where id=0"> 
            <field column="ID" name="ID" /> 
            <field column="TITLE" name="TITLE" /> 
            <field column="CONTENT" name="CONTENT" /> 
            <field column="DATE_ADDED" name="DATE_ADDED" /> 
        </entity> 
  </document> 
</dataConfig>
9.
在schema.xml添加需要添加索引字段和配置搜索属性
 
 <fields>
            <field name="id" type="string" indexed="true" stored="true" required="true" /> 
<field name="title" type="text_ika" indexed="true" stored="true" termVectors="true" termPositions="true" termOffsets="true"/> 
<field name="content" type="text_ika" indexed="true" stored="true" termVectors="true" termPositions="true" termOffsets="true"/> 
<field name="date_added" type="date" indexed="false" stored="true"/> 
 </fields>
 <uniqueKey>id</uniqueKey><!--唯一性字段-->

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-315283-1-1.html 上篇帖子: solr4增加索引和删除索引 下篇帖子: solr4.6.0安装部署以及配置中文分词IKAnalyzer
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表