商品搜索引擎资料整理

商品搜索引擎资料整理

一、搜索引擎框架

搜索引擎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.htmlhttp://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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/2272.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 浮动工具栏在哪里_设置面板的布局方式为边界布局

    浮动工具栏在哪里_设置面板的布局方式为边界布局使用BCG界面库,工具栏的一些用法就和MFC不一样了,MFC的CFrameWnd直接有一个设置浮动工具条位置的函数可以调用,而BCG没有,因为其对于TOOLBAR的底层实现和MFC那一套实现流程完全不同。BCG库的代码设置浮动工具栏的位置,又折腾了我几个小时,通过看其源码加改调用函数改参数调试,最后终于出来了,也不知此法好不好。代码如下: voidCMainFrame::RePos

  • mysql8.0修改用户密码_sql数据库更改用户登录密码

    mysql8.0修改用户密码_sql数据库更改用户登录密码示例:修改mysql数据库中的user表中的test用户的登录密码。MySQL版本号:8.0.15步骤:登录mysqlmysql-uroot-p输入登录密码使用mysql数据库USEmysql修改密码ALTERUSER’test’@’localhost’IDENTIFIEDWITHmysql_native_passwordBY’新密码’;…

  • 五种聚类方法_聚类分析是一种降维方法吗

    五种聚类方法_聚类分析是一种降维方法吗本文为雷锋字幕组编译的技术博客,原标题The5ClusteringAlgorithmsDataScientistsNeedtoKnow,作者为GeorgeSeif。聚类是一种关于数据点分组的机器学习技术。给出一组数据点,我们可以使用聚类算法将每个数据点分类到特定的组中。理论上,同一组中的数据点应具有相似的属性或特征,而不同组中的数据点应具有相当不同的属性或特征(即类内差异小,…

    2022年10月20日
  • jQuery Mobile入门

    jQuery Mobile入门

  • linux重命名文件名_linux 文件重命名

    linux重命名文件名_linux 文件重命名https://blog.csdn.net/weixin_33724570/article/details/91909917https://blog.csdn.net/csdnnews/article/details/87927567https://blog.csdn.net/weixin_34329187/article/details/93004715https://blog…

  • Composer常见问题

    Composer常见问题

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号