商品搜索引擎资料整理
一、搜索引擎框架
搜索引擎Solr和ElasticSearch了解:http://blog.csdn.net/u013142781/article/details/51224988
Solr:
教程:http://blog.csdn.net/jediael_lu/article/category/2370109
书籍:Lucene In Action(第2版)中文版
ElasticSearch:
博客实例教程:http://www.eggtwo.com/news/detail/143
网页教程:http://es.xiaoleilu.com/010_Intro/10_Installing_ES.html、http://udn.yyuap.com/doc/mastering-elasticsearch/chapter-5/54_README.html
书籍:Elasticsearch服务器开发(第2版)
安装插件:http://blog.csdn.net/wenqisun/article/details/47952199
最火搜索引擎:ElasticSearch详解与优化设计:http://www.aboutyun.com/thread-17078-1-1.html
Elastic中文社区 :http://elasticsearch.cn/
请问elasticsearch的自动发现节点机制是怎么实现的,原理是怎样?:https://www.zhihu.com/question/29360024
知乎为什么要自己开发日志聚合系统kids,而不用更简洁方便的ELK(elasticsearch+logstash+kibana)?: https://www.zhihu.com/topic/19899427
ElasticSearch 如何实现拼音检索:https://www.zhihu.com/question/39421759
五类Elasticsearch扩展性插件推荐:http://cloud.51cto.com/art/201505/476450.htm
Solr与ElasticSearch 比较:http://www.cnblogs.com/chowmin/articles/4629220.html
二、其他
分词:
常用的开源中文分词工具 :http://www.scholat.com/vpost.html?pid=4477
10大Java开源中文分词器的使用方法和分词效果对比:http://www.tuicool.com/articles/uYfy2q2
博主关于分词的一些整理:http://blog.csdn.net/u013142781/article/details/51182310
关于分词小宝鸽的一点思考:
关于搜索引擎,对比一号店,引发的思考
(1)分词必须采用细粒度,比如词库中存在“手机耳机”,用户输入“手机耳机”,但是商品信息中的字符串存在“手机入耳式耳机”,并不存在“手机耳机”连在一起的。这时候搜索不到结果,但是事实上,我们有用户想要找的商品。具体可以了解IK分词插件的智能分词和细粒度分词的区别。
(2)分词的时候,识别是否存在商品分类 包含这个字符串,或者这个字符串所有分出来的词。如果存在,我们锁定在这个分类下进行搜索。存在多个,我们去最短的那个。假设存在两个分类名字相同,如“苹果”既属于手机又属于水果,那么我们取二者的搜索结果,然后进行排序(排序过程中可能会根据购买热度等等,自然而然的,大部分是手机排在前面)。如果根据上面的文字无法识别分类,那么久不识别分类,直接利用关键字进行搜索。
(3)对于前端页面效果可以锁定一个分类或者是多个分类。假设根据第(2)点无法定位分类,但是根据搜索返回商品中,所有的商品均属于一个或者为数不多的几个分类,那么我们理应让用户知道,你的关键词我们搜索的结果仅出现在这几个分类中,你是否为你想要的结果?
(4)词库里面必须存在同义词,耳机=耳麦,手机壳=手机套,iphone=苹果等等。这个在商品搜索引擎里面尤为重要。
(5)假设用户输入的是拼音,后台应该将其转问中文。那对于用户输入拼音有拼错的情况呢?我们选择 包含用户输入字母数最多的词,如果最多的出现两个,那么我们取最短那个,这样的纠正率应该高达85%以上。如不明白多读几次理会一下。
(6)对于根据用户输入的字符串,分词后查询不到结果,尝试剔除一些词后再次搜索,然后提示给用户,根据用户输入的关键词查询不到结果,推荐剔除某些词后的结果。
(7)允许用户锁定在某个商品类目下,输入关键词搜索。跟没有锁定类目这两者需要区分开来。
(8)一般不要将查询结果直接到页面上,因为有些商品可能还没有更新到索引里面。可以尝试根据返回的商品ID再次查询数据库,当然这并不是完善的解决方案。不过这个问题确实存在。
商品搜索引擎整体结构相关:
美团推荐系统架构:http://www.jiagoushuo.com/article/1000040.html
浅谈搜索引擎的查重和去重 :http://www.jianshu.com/p/8f69930edf76
京东商品搜索架构设计 全量索引和增量索引:http://www.cnblogs.com/huangfox/p/5111713.html
搜索引擎 :http://baike.baidu.com/link?
url=FLrTcCBzvACYPXwrzQ9LusraXRDjl1TsjMnc1FgjNueGRSRsGHj-adOmcUs0waFAFKHckYfQTDqFoDIgOVLlxq
淘宝搜索关键词拆分原理和标题打造:http://blog.sina.com.cn/s/blog_4a9f9a6c0101bpd2.html
浅谈淘宝类目属性体系:商品搜索背后的逻辑架构:http://www.geekpark.net/topics/205894/
架构 | 京东商品搜索架构设计: http://www.cnblogs.com/huangfox/p/5111713.html
京东商城POP商品搜索原理:http://wenku.baidu.com/link?
url=i_BqXC3zJeBEvXsP3nnADTDJFa7gHYL_UTgAeojCOV0q5XRzkYugV3tmT5LiS91hHQtMsrX1U9fDPCyOGehCSFCtIXdbOsx99pQ67rhS0_C
京东11.11:商品搜索系统架构设计:http://www.infoq.com/cn/articles/jingdong-11-11-commodity-search-system-architecture-design/
智能提示&&输入联想:
Elasticsearch 实现联想输入搜索:http://www.656463.com/article/22Ibqu.htm
美团搜索-搜索引擎关键字智能提示的一种实现:http://www.cnblogs.com/huangfox/p/4146970.html
搜索关键字拼音智能提示实现:http://zhanshenny.iteye.com/blog/1923073
使用Mongodb的搜索拼音自动补全方案:http://www.2cto.com/database/201203/123450.html
小宝鸽关于智能提示&&输入联想的调研:http://blog.csdn.net/u013142781/article/details/51283910