`

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

阅读更多

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

分享到:
评论

相关推荐

    利用分布式搭建网上购物商城最详解

    ### 分布式搭建网上购物商城知识点详析 #### 一、背景及意义 随着电子商务行业的飞速发展,交易规模不断扩大,传统的单体架构已经难以满足日益增长的业务需求。为了提高系统的可扩展性和稳定性,越来越多的企业...

    利用开源工具搭建小型搜索引擎

    通过以上内容的学习,我们可以了解到搭建一个小型搜索引擎所需要掌握的核心技术点,从信息搜集、预处理、索引到查询服务,每一步都至关重要。希望本文能够帮助读者深入了解搜索引擎的工作原理,并激发更多关于如何...

    网盘目录搜索系统源码+搭建教程

    总结,网盘目录搜索系统通过源码分析和搭建教程,我们可以了解到如何实现高效、便捷的文件检索功能。理解这些内容不仅有助于我们掌握网络存储系统的运作,还能为开发类似项目提供基础。在实际应用中,还需要关注系统...

    迅速搭建全文搜索平台源代码

    总结,通过本资源中的源代码,你可以了解和实践全文搜索平台的搭建过程,涵盖从数据抓取、预处理、索引构建到查询接口的整个流程。这将有助于你掌握搜索引擎的核心技术和实际应用,为你的IT职业生涯打下坚实的基础。

    文件服务器的配置以及文件服务器的搭建

    文件服务器的配置与搭建是IT领域中网络管理的基础工作,尤其在企业局域网环境中,文件服务器扮演着数据存储和资源共享的重要角色。Windows Server 2003(SP1)作为一个经典的服务器操作系统,提供了完善的文件服务...

    服务器搭建服务器搭建.doc

    【服务器搭建】涉及多个关键知识点,包括DNS服务、DHCP服务、活动目录、Web服务器以及FTP服务器的搭建和管理。以下是对这些主题的详细说明: 一、DNS服务 DNS(Domain Name System)是互联网上的一个关键组件,它...

    ueeshop商城系统搭建

    ueeshop系统搭建涵盖了从基础架构到核心功能的多个层面,包括交易系统、产品管理以及购物车管理等多个关键模块。在本文中,我们将深入探讨这些关键知识点。 ### 1. 交易系统 交易系统是商城的核心,它负责处理用户...

    nginx搭建文件服务器上传文件获取文件

    ### Nginx 搭建文件服务器:上传与获取文件 在互联网技术中,Nginx 被广泛用于构建高性能、稳定的Web服务器环境。本文将详细介绍如何利用 OpenResty + Nginx + Lua 实现一个文件服务器,该服务器支持文件上传与获取...

    服务器搭建网站所需的源码例子.zip

    而“让我帮你百度”可能是一个搜索代理服务,帮助用户通过API接口获取搜索引擎的结果。这将涉及API调用、JSON数据解析、页面渲染等技术,对于学习API接口的使用和前后端交互非常有帮助。 总之,这个压缩包提供了...

    搭建一个安全的Linux服务器教程

    - **解析配置文件** `/etc/resolv.conf`:定义了DNS解析器的配置,包括域名搜索顺序和DNS服务器地址。 ```bash search openarch.com nameserver 208.164.186.1 nameserver 208.164.186.2 ``` - **主机解析...

    CentOS 7.x 快速搭建ARK服务器及服务器参数设置

    - 允许 Steam 服务浏览器搜索端口:`firewall-cmd --zone=public --add-port=27015/udp --permanent` - 允许监听端口:`firewall-cmd --zone=public --add-port=32330/tcp --permanent` - 重启防火墙:`firewall-...

    Ubuntu上搭建SVN服务器全攻略

    本文旨在详细介绍如何在Ubuntu环境下搭建SVN(Subversion)服务器,并结合Apache服务器以及SSL加密技术,实现安全、高效的版本控制服务。通过HTTPS协议访问SVN服务器,确保数据传输的安全性;同时,采用基于Apache的...

    网上商城-静态页面模版

    这个模版专为初级开发者设计,旨在帮助他们快速搭建一个功能基础的网上商城网站,无需从零开始编写所有HTML、CSS和JavaScript代码。 【描述】"模拟网上商城,静态页面模版,可用于初级开发"意味着这个模版包含了...

    搜索引擎的搭建(Lucene)代码

    Lucene还提供了许多扩展和优化工具,如Solr和Elasticsearch,它们在Lucene的基础上提供了一套完整的搜索服务框架,支持分布式索引和查询,适用于大型、高性能的搜索应用。 通过阅读《搜索引擎的搭建(Lucene)》这...

    node搭建的一个网上商城系统。包含论坛,安装依赖可运行

    在本项目中,我们探索的是一个使用Node.js和JavaScript构建的网上商城系统,它基于Express框架,具有完整的购物流程和论坛功能。以下是该项目的核心知识点: 1. **Node.js**: Node.js是一个开放源代码、跨平台的...

    如何搭建个人FTP服务器

    在正式搭建之前,我们需要做一些基础的准备工作: 1. **硬件要求**:推荐配置为CPU P4 500MHz及以上,内存至少256MB SDRAM。 2. **网络环境**:确保具备稳定的网络连接,建议使用ADSL 512Kbps或更高速度的宽带服务...

    LINUX服务器搭建1

    在Linux环境中搭建服务器是一个基础但至关重要的任务,这涉及到对操作系统的基本理解和操作。Linux作为开源的操作系统,被广泛应用于服务器场景,因其稳定性和安全性而备受青睐。下面将详细介绍Linux服务器搭建的...

Global site tag (gtag.js) - Google Analytics