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

为什么非要搜索系统

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

实例:

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 [email protected]:pumadong/cl-search.git 。

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

时间: 2024-08-25 04:33:58

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

基于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 这个时候就需要引入搜索系统. 搜索系统当前最常用的框架有:So

基于HBase的冠字号查询系统2--实现部分

1. 软件版本和部署 maven:3.3.9,jdk:1.7 ,Struts2:2.3.24.1,hibernate:4.3.6,spring:4.2.5,MySQL:5.1.34,Junit:4,Myeclipse:2014: Hadoop2.6.4,HBase1.1.2 源码下载:https://github.com/fansy1990/ssh_v3/releases 部署参考:http://blog.csdn.net/fansy1990/article/details/51356583 数

居民身份证号码查询系统

居民身份证号码查询系统(IDio)1.4.0.140 单文件版居民身份证号码查询系统(IDio)是用以根据身份证号码查找所属的省市区.出生年月日.性别等信息的工具. 身份证号码查询特色: 准确及时,包括最新的行政区域信息: 地图定位:一键显示地区地图信息: 绿色简便:绝不捆绑任何软件/插件,只有主程序一个文件,不用安装! 完全免费:我们继承免费的精神,为用户提供优良而且免费的服务! 身份证号码查询 v1.4.0.140 更新 改善了界面:修正了年龄少1岁的问题: 百度下载:http://pan.

基于HBase的冠字号查询系统1--理论部分

1. 软件版本和部署 maven:3.3.9,jdk:1.7 ,Struts2:2.3.24.1,hibernate:4.3.6,spring:4.2.5,MySQL:5.1.34,Junit:4,Myeclipse:2014: Hadoop2.6.4,HBase1.1.2 源码下载:https://github.com/fansy1990/ssh_v3/releases 部署参考:http://blog.csdn.net/fansy1990/article/details/51356583 数

基于java最短路径算法公交查询系统的设计与实现

基于J2EE的公交查询系统的设计与实现 1引言 1.1 选题背景 20多年来,我国经济得到了持续.快速.稳定.健康地发展.经济的快速增长,带动了汽车工业的蓬勃发展,并使交通状况显著改善.据统计,中国公路通车总里程已达130余万公里,其中高速公路约1.5万公里.居民收入普遍提高,到2000年年底,人均GDP已超过800美元,沿海地区已达2000-3000美元.按国际发展惯例,当人均GDP超出1000美元,汽车消费市场就将进入快速增长期.我国城市人口约有2亿,略低于美国人口.东部沿海地区大部分居民已

基于二叉排序树的高校分数查询系统

前述:该学期最后的数据结构的课程设计选题,于是记录在自己博客中,作为自己技术成长的点滴吧. 题目:高校最低录取分数线的查询 编程实现一个开放式的高校本科招生最低分数线的查询系统,供师生及家长等查询,高校自愿放入该校的信息,可能随时有高校加入. 要求实现的查询功能有: 查询等于用户给定分数的高校 查询大于(或小于)用户给定分数的高校 查询最低录取分数线的用户给定的分数段中的高校   以上就是老师给定题目中要求实现的功能,为了是程序整体更加完整,自己对高校使用部分做了一些功能添加,例如学校信息的增删

依云工资查询系统升级至6.0

作品介绍:依云工资查询系统,一款企业员工工资查询软件,管理员只需录入员工信息.添加工资模板.上传员工工资,员工即可网上查询工资.查询工资更加方便,实现无纸化工资查询,大大节省打印裁剪工资条时间.1.设有3种不同的角色:系统管理员.部门管理员.普通用户.系统管理员可以录入部门管理员.添加工资模板.上传员工工资,部门管理员可以编辑对应部门的员工与工资,员工可以查看自己工资.2.支持Excel表格模板上传员工信息,使员工信息录入更加方便.3.支持Excel表格模板上传员工工资,使员工工资上传更加快捷.

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

Solr4.8.0源码分析(5)之查询流程分析总述 前面已经写到,solr查询是通过http发送命令,solr servlet接受并进行处理.所以solr的查询流程从SolrDispatchsFilter的dofilter开始.dofilter包含了对http的各个请求的操作.Solr的查询方式有很多,比如q,fq等,本章只关注select和q.页面下发的查询请求如下:http://localhost:8080/solr/test/select?q=code%3A%E8%BE%BD*+AND+l

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

Solr4.8.0源码分析(6)之非排序查询 上篇文章简单介绍了Solr的查询流程,本文开始将详细介绍下查询的细节.查询主要分为排序查询和非排序查询,由于两者走的是两个分支,所以本文先介绍下非排序的查询. 查询的流程主要在SolrIndexSearch.getDocListC(QueryResult qr, QueryCommand cmd),顾名思义该函数对queryResultCache进行处理,并根据查询条件选择进入排序查询还是非排序查询. 1  /** 2 * getDocList ve