为什么非要搜索系统

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

实例:

keyword=%E8%8B%B9%E6%9E%9C&enc=utf-8">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 。

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

查询系统--基于Solr4.9.0实现的更多相关文章

  1. Solr4.8.0源码分析(6)之非排序查询

    Solr4.8.0源码分析(6)之非排序查询 上篇文章简单介绍了Solr的查询流程,本文开始将详细介绍下查询的细节.查询主要分为排序查询和非排序查询,由于两者走的是两个分支,所以本文先介绍下非排序的查 ...

  2. Solr4.8.0源码分析(5)之查询流程分析总述

    Solr4.8.0源码分析(5)之查询流程分析总述 前面已经写到,solr查询是通过http发送命令,solr servlet接受并进行处理.所以solr的查询流程从SolrDispatchsFilt ...

  3. 暑假闲着没事第一弹:基于Django的长江大学教务处成绩查询系统

    本篇文章涉及到的知识点有:Python爬虫,MySQL数据库,html/css/js基础,selenium和phantomjs基础,MVC设计模式,ORM(对象关系映射)框架,django框架(Pyt ...

  4. 基于Impala平台打造交互查询系统

    本文来自网易云社区 原创: 蒋鸿翔 DataFunTalk 本文根据网易大数据蒋鸿翔老师DataFun Talk--"大数据从底层处理到数据驱动业务"中分享的<基于Impal ...

  5. 如何让基于.NET 2.0的应用在高版本的系统上运行?

    我们的WinForm项目是基于.NET 2.0开发的,在部署时,发现有些机器没有.NET 2.0,但是即使这些机器有装.NET 2.0 以上的版本,也无法运行我们的程序.这就比较蛋疼了. 我们查了一下 ...

  6. 基于web公交查询系统----数据库设计

    要求:公交查询系统,管理员可以新增线路,修改车辆参数,发车时间表,删除车次,站名等. 用户可以按线路查询,按站点查询相关信息,也可查询两站点之间的换乘信息等. 数据库应包含管理员表,车站表,线路表,车 ...

  7. Solr4.8.0源码分析(10)之Lucene的索引文件(3)

    Solr4.8.0源码分析(10)之Lucene的索引文件(3) 1. .si文件 .si文件存储了段的元数据,主要涉及SegmentInfoFormat.java和Segmentinfo.java这 ...

  8. 基于Qt5.5.0的sql数据库、SDK_tts文本语音朗读的CET四六级单词背诵系统软件的编写V1.0

    作者:小波 QQ:463431476 请关注我的博客园:http://www.cnblogs.com/xiaobo-Linux/ 我的第二款软件:CET四六级单词背诵软件.基于QT5.5.0.sql数 ...

  9. Solr4.8.0源码分析(15) 之 SolrCloud索引深入(2)

    Solr4.8.0源码分析(15) 之 SolrCloud索引深入(2) 上一节主要介绍了SolrCloud分布式索引的整体流程图以及索引链的实现,那么本节开始将分别介绍三个索引过程即LogUpdat ...

随机推荐

  1. linux下用shell删除三天前或者三天内的文件

    说明:+n 大于 n, -n 小于 n, n 相等于 n. find / -amin -30 -ls # 查找在系统中最后30分钟访问的文件find / -atime -2 -ls # 查找在系统中最 ...

  2. auto property synthesis will not synthesize proterty ;it will be implementedby its superclass, use @

    Auto property synthesis will not synthesize property 'title'; it will be implemented by its supercla ...

  3. 《JavaScript设计模式与开发实践》读书笔记之享元模式

    1. 享元模式 享元模式是一种用于性能优化的模式,享元模式的核心是运用共享技术来有效支持大量细粒度的对象 1.1 传统的文件上传方法 以文件上传为例,文件上传功能可以选择依照队列,一个一个的排队上传, ...

  4. 【python】按行切分文本文件

    python脚本利用shell命令来实现文本的操作, 这些命令大大减少了我们的代码量. 比如按行切分文件并返回切分后得到的文件列表,可以利用内建的split命令进行切分.为了返回得到的文件列表名,可以 ...

  5. unity3d教程动态创建简单平面地形

    unity3d创建地形是不须要usingUnityEditor的.这里使用了AssetDatabase.所以需using UnityEditor; 创建三步: 1.TerrainData terrai ...

  6. 原创教程“ActionScript3.0游戏中的图像编程”開始连载啦!

            经过近两年的不懈努力,笔者的原创教程"ActionScript3游戏中的图像编程"最终在今日划上了完美的句号!这其中记录着笔者多年来在游戏制作,尤其是其中图像处理方 ...

  7. Spring官方网站的改版后下载

    Spring官方网站改版很长一段时间后还没有找到直接下载Jar链接包,下面总结了一些方法,可在网上,亲測可用. 1.直接输入地址,改对应版本号就可以:http://repo.springsource. ...

  8. C# 如何获取某用户的“我的文档”的目录

    Console.WriteLine(System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)); System.E ...

  9. Android 反编译(一,apktool+smail2java)

    一:解压缩(获取图片等资源) 对于apk中丰富的资源,假设我们在练习的时候须要引用某些apk中的资源文件时,最简单的办法使用解压缩工具对apk进行解压缩,然后在对应的文件夹下查找须要的资源文件. 二: ...

  10. Div 滚动栏滚动到指定的位置

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...