• 查询系统--基于Solr4.9.0实现



    为什么非要搜索系统


    随着在产品的数量的增长、和复杂的检索要求,直接从数据库中检索信息,它已经无法满足展示机搜索需求。

    实例:

    http://search.jd.com/Search?keyword=%E8%8B%B9%E6%9E%9C&enc=utf-8

    http://www.yougou.com/sr/searchKey.sc?keyword=%E5%A5%B3%E9%9E%8B%E5%A4%A9%E7%BE%8E%E6%84%8F

    这个时候就须要引入搜索系统。

    搜索系统当前最经常使用的框架有:Solr、ElasticSearch。他们都是基于Lucene构建的。

    本文演示的搜索系统。使用的框架是:Solr4.9.0。关于Solr框架的使用。能够參阅网站:

    http://lucene.apache.org/solr/

    http://blog.csdn.net/puma_dong/article/details/38880699


    系统说明


    基本信息


    演示对商品信息的全量索引建立、主从配置以及搜索的Dubbo接口提供。

    对Solr做了入门型的说明,基本满足基于Solr的搜索的日常应用。对于很多其它Solr的參数设置,深入研究须要在实践中不断总结进步。


    关于索引。基本内容大致包括例如以下:

    商品(编码,款号、名称、价格、尺码编号、尺码名称、颜色、价格、折扣、图片链接、销量)。

    分类(名称、别名、编码、拼音名称)。

    品牌(编码、中英文名称、别名、拼音名称、首字母拼音名称);

    商品的属性项目(属性值);

    以及一些用来排序的信息:销量、价格、折扣等;

    对于品牌分类等,须要同一时候记录英文名称。

    索引还须要一些管理控制功能,比方脏词屏蔽、扩展词库等。

    为了提高建立索引的效率。可能还须要对一些中间结果进行计算,比方:商品的2周销售数量。

    注:关于分类的别名、品牌的别名之类,不建议在搜索系统中单独为。建议提需求给商品管理系统。

    本项目不过演示的雏形,流程是可用的,单没有完整的信息完整的索引创建、索引接口、及管理控制功能,这个留待以后是否有足够的业余时间。

    索引建立的执行方式例如以下:crontab  */10 * * * * /usr/local/cl/create_index.sh &。


    技术框架


    在索引建立项目中。没有使用不论什么框架,使用最基础的JDK编码,定时任务方式採用crontab。任务流程控制採用linux shell命令。

    索引查询接口项目中,依然是採用dubbo提供接口。

    client使用Solrj。

    中文分词使用IK Analyzer 2012FF_hfl。


    代码说明


    前置项目:http://blog.csdn.net/puma_dong/article/details/9854899

    最新源代码:git clone git@github.com:pumadong/cl-search.git 。

    版权声明:本文博主原创文章,博客,未经同意不得转载。

  • 相关阅读:
    Flesch Reading Ease (poj 3371)
    保留道路
    列车调度
    三角形
    高精度加法
    AC自动机(1)
    线段树
    并查集(3)
    并查集(2)
    并查集
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/4803057.html
Copyright © 2020-2023  润新知