`

搭建网上商城基础搜索服务

阅读更多

现在正在开发网上商城项目,由于用户要求搜索速度高,采用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><!--唯一性字段-->

分享到:
评论

相关推荐

    Windows_7_下搭建LDAP服务器并使用JNDI

    LDAP全称是一个轻量级的目录访问协议,它是建立在TCP/IP基础之上的用来查询和修改目录服务的。这是照着wiki翻译的,但是有人要问了什么是directory Service(目录服务)? 按照wiki的说法的话讲:在软件行业,目录就...

    十分钟学会使用 Elasticsearch 优雅搭建自己的搜索系统.pdf

    十分钟学会使用 Elasticsearch 优雅搭建自己的搜索系统。 什么是elasticsearch Elasticsearch 是一个开源的高度可扩展的全文搜索和分析引擎,拥有查询近实时的超强性能。 大名鼎鼎的Lucene 搜索引擎被广泛用于搜索...

    CSS梅兰商城项目实战基础视频教程-video

    CSS梅兰商城项目实战基础视频教程-video 131.梅兰商城首页项目搭建132.项目CSS初始化133.测量页面版心宽度及页面top部分Html134.项目top部分完成135.使用精灵图完成三角显示136.logo部分完成和搜索引擎优化137.搜索...

    分布式搜索 elasticsearch 方案研究 - 基础知识

    分布式搜索elasticsearch单机与服务器环境搭建 4 分布式搜索elasticsearch中文分词集成 5 分布式搜索elasticsearch配置文件详解 8 分布式搜索elasticsearch安装步骤详解 12 分布式搜索elasticsearch高级配置之(一)...

    如何搭建RHCE6考试环境

    主要想讲解如何使用VirtualBox虚拟机在物理机widows7系统环境下搭建出RHCE6考试环境,不是讲解Redhat的各种服务配置(linux基础与进阶的学习推荐大家学习鸟哥的私房菜系列书箱); 所以,最终的目的是希望能够在当前...

    hadoop生态系统搭建

    本人写的大数据平台搭建教程,包含基于hive的离线分析、基于storm的实时分析、包含solrcloud和hbase的搜索架构等基础组件的配置及整合

    云开发零基础搭建校园万能墙表白墙小程序

    实现公众号文章推广,热点搜索,点击选择板块标签,管理员封帖,赞赏作者,官方群聊,分享好友,查看评论动态等万能墙常用功能,可以和公众号联动,为学生提供服务。小程序实现了滑动切换板块,提高用户体验,具体...

    横瓜垂直搜索引擎V3.2-横瓜Windows平台的垂直搜索引擎

    8、本软件使用的基础词典已经用MD5加密封装,用户可以在dic.txt中自由添加新词,新词被添加到 dic.txt后,被检索的几率变大。若不添加新词,也可以被检索到,只是几率稍小些。 9、web目录中web.mdb的记录(制药企业...

    ShopBuilder网上直销商城

    7*24小时全程基础运维外包服务,99.5以上可用率,提升企业全天候运作,促进网站的业务增值能力 运价算服务 先进的云服务器保证数据的交换稳定、快速、无差错 活动保障,提升大促日稳定性 通过对促销活动的业务...

    一个基于分布式爬虫的信安文章搜索引擎

    然后选取ElasticSearch搭建搜索服务,同时提供了RESTfulweb接口;最后通过Django搭建可视化站点,供用户透明的对文章进行搜索。 最终通过本项目可以更加透彻的理解爬虫的相关知识;在熟练运用Python语言的基础上,...

    maven3.3.9+struts2.5.5+spring4.3.3+hibernate5.2.4框架搭建实例

    maven3.3.9+struts2.5.5+spring4.3.3+...ssh这么主流,但是在网上搜索的资料拿来用的时候经常出错或者是没有一个完整的搭建环境,这里给大家提供一个非常完整,而且基础的实例,本人是在ubuntu 14.04系统搭建的。

    Python毕业设计-基于Django和elasticsearch搭建电影搜索网站的设计与实现+使用说明+全部资料(优秀项目)

    Python毕业设计-基于Django和elasticsearch搭建电影搜索网站(使用amazeui)的设计与实现+使用说明+全部资料(优秀项目) 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用...

    ES的搜索引擎的设计与实现源码.zip

    本系统以SpringBoot基础框架整合其他技术设计和搭建而成,选用webmagic框架实现单节点的网络爬虫系统,爬虫的生命周期为链接提取、页面下载、内容抽取、持久化,多线程抓取,Redis队列和集合实现网页去重和增量抓取...

    完整版 web应用开发 web网站建设实用教程 第6讲 JSP开发环境搭建(共81页).ppt

    web应用开发 web网站建设实用教程 第6讲 JSP开发环境搭建(共81页).ppt web应用开发 web网站建设实用教程 第6讲 Web服务器(共86页).ppt web应用开发 web网站建设实用教程 第7讲 网站的规划与设计(共146页).ppt ...

    Flask搭建简易版个人博客网站

    本项目主要以Flask框架为主,需要前端三剑客...网站有登录、注册、发布文章、搜索文章、查看文章、发布评论等主要基础功能。其他功能可根据自己需要进行扩展开发。适合学习Flask的初学者在学完知识点之后的实践项目。

    ShopBuilder网上直销商城 v5.6.1.zip

    7*24小时全程基础运维外包服务,99.5以上可用率,提升企业全天候运作,促进网站的业务增值能力   运价算服务 先进的云服务器保证数据的交换稳定、快速、无差错 活动保障,提升大促日稳定性 通过对促销活动的...

    基于分布式爬虫的文章搜索引擎

    然后选取 ElasticSearch 搭建搜索服务,同时提供了 RESTful web 接口;最 后通过 Django 搭建可视化站点,供用户透明的对文章进行搜索。本项目可以更加透彻的理解爬虫的相关知识;在熟练运用 Python 语言的基础上,...

    SpringBoot 后台权限框架搭建

    SpringBoot 后台权限框架搭建:主要实现后端权限管理系统,包括用户管理、 角色管理、部门管理、菜单管理等。 项目采用前后端分离模式开发,后端使用springboot+shiro+mybatis+MySQL等。前端选用Element UI框架,...

    java进阶Solr从基础到实战

    1. 环境搭建 2. 核心讲解 3. 数据导入 4. 各种中文分析器 章节二:Solr基础(下) 1. Solr基础知识 2. Solr查询 3. Facet查询 4. Group查询 5. 高亮查询 6. Suggest查询 7. SolrJ 章节三:Solr高级(上) 1. Solr ...

Global site tag (gtag.js) - Google Analytics