热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

某点评网搜索策略的一些理解

本文介绍了某点评网的搜索策略,包括名称和地址的匹配策略,模糊匹配的方法以及不同口音和拼音的近似发音。同时提供了一些例子来说明这些策略的应用。

1. 查询串为 纯汉字,查询出被拆分为单个字,然后使用全文检索,尽可能找出包含查询串的 POI,查找范围为所有POI拥有的文本信息。


例如搜索 “顺轩”,返回结果为:http://www.dianping.com/search/keyword/1/0_顺轩而搜索“轩顺”,返回结果为:http://www.dianping.com/search/keyword/1/0_轩顺两个个搜索返回的结果是一致的,可得使用的匹配步骤比较简单;返回列表的排序规则可以总结为两条:a. POI中查询出是否按照查询串中的顺序连续出现b. 名称包含优先于地址包含c. 匹配发生在 名称,标签,地址 等2. 查询串为 纯拼音,不对查询串(拼音串)进行任何拆分
例子1,shuguanghttp://www.dianping.com/search/keyword/1/0_shuguang例子2,shuguanhttp://www.dianping.com/search/keyword/1/0_shuguan两个搜索返回的结果基本一致,并且同时出现提醒,你要找的是不是曙光书馆
例子3,caguanhttp://www.dianping.com/search/keyword/1/0_caguan你要找的是不是茶馆
例子4,canguan(餐馆)http://www.dianping.com/search/keyword/1/0_canguan上海站全部商户中,没有找到"canguan"(0)
例子5,cacantinghttp://www.dianping.com/search/keyword/1/0_cacanting你要找的是不是查餐厅茶餐厅例子6,xijiaobailian(西郊百联)http://www.dianping.com/search/keyword/1/0_xijiaobailian你要找的是不是西郊百联例子7,xijiaobalianhttp://www.dianping.com/search/keyword/1/0_xijiaobalian你要找的是不是西郊百联
例子8,xijiaoblianhttp://www.dianping.com/search/keyword/1/0_xijiaoblian上海站全部商户中,没有找到"xijiaoblian"(0)
例子由上面的例子,可以大概推测如下:a. 内部有一个词典,保存了 词和拼音 映射关系,b. 先使用 拼音进行匹配搜索,匹配策略可能是:b1. 精准匹配b2. 包含匹配b3. 模糊匹配(最小编辑距离 <某个阙值,比如2,参考例子6,7,8,读者可自行尝试其他组合)b4. 没有找到任何匹配,即返回空,参考例子4.(canguang竟然没有,很让人费解)c. 利用拼音映射到的汉字,回归到第一条中的 纯汉字 搜索d. 匹配发生在 名称,标签,地址 等 另外,例子9,jiaodahttp://www.dianping.com/search/keyword/1/0_jiaoda你要找的是不是交大
例子10,jiadahttp://www.dianping.com/search/keyword/1/0_jiada你要找的是不是佳达例子11,jiaodhttp://www.dianping.com/search/keyword/1/0_jiaod上海站全部商户中,没有找到"jiaod"(0)
例子12,shangdahttp://www.dianping.com/search/keyword/1/0_shangda你要找的是不是散打上大杉达例子13,shangdhttp://www.dianping.com/search/keyword/1/0_shangd上海站全部商户中,没有找到"shangd"(0)
例子14,sangdahttp://www.dianping.com/search/keyword/1/0_sangda你要找的是不是散打上大杉达例子15,suguanghttp://www.dianping.com/search/keyword/1/0_suguang你要找的是不是曙光书馆由上面的例子可以推测,b3 的描述可能是不正确的(例子9,11不符合 最小编辑距离匹配),不能完全断定 -- 查询使用了 最小编辑距离匹配,应该还加入了 口音 的考虑(对比 例子15 与前面的例子1,2):<1> 不同的口音,相同的拼音,存在不同的发音,考虑了同一个拼音,近似发音的匹配<2> 不同的口音,不同的拼音,存在近似的发音,后续有新发现,继续补充3. 查询串为 汉字+拼音例子16,属guanghttp://www.dianping.com/search/keyword/1/0_属guang你要找的是不是曙光书馆
例子25,素guanghttp://www.dianping.com/search/keyword/1/0_素guang你要找的是不是曙光书馆
例子17,属guanhttp://www.dianping.com/search/keyword/1/0_属guan你要找的是不是曙光书馆
例子18,shu光http://www.dianping.com/search/keyword/1/0_shu光你要找的是不是曙光书馆
例子19,shu广http://www.dianping.com/search/keyword/1/0_shu广搜索策略 的一些理解" title="某点评网 搜索策略 的一些理解" src="https://www.#.com/go/dW5kZWZpbmVk" referrerpolicy="no-referrer">某点评网 <wbr>搜索策略 <wbr>的一些理解

例子20,shang大http://www.dianping.com/search/keyword/1/0_shang大某点评网 <wbr>搜索策略 <wbr>的一些理解

例子21,shang大leihttp://www.dianping.com/search/keyword/1/0_shang大lei某点评网 <wbr>搜索策略 <wbr>的一些理解

例子22,shanglei大http://www.dianping.com/search/keyword/1/0_shanglei大上海站全部商户中,没有找到"shanglei大"(0
例子23,上dahttp://www.dianping.com/search/keyword/1/0_上da某点评网 <wbr>搜索策略 <wbr>的一些理解

例子24,西jiaobailianhttp://www.dianping.com/search/keyword/1/0_西jiaobailian你要找的是不是西郊百联
a. 首先不区分 拼音 汉字,进行 全文检索,找到包含整个串的POI,不考虑 查找单元 的顺序a1. 连续的拼音视为一个查找单元,单个汉子视为查找单元,参考例子20,21,22a2. 查找不到包含所有 查找单元 的 POI系统,转到 bb. 汉字映射为拼音,转行为 第二条 纯拼音 搜索,注意 例子17,25



推荐阅读
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • 在现代Web应用中,当用户滚动到页面底部时,自动加载更多内容的功能变得越来越普遍。这种无刷新加载技术不仅提升了用户体验,还优化了页面性能。本文将探讨如何实现这一功能,并介绍一些实际应用案例。 ... [详细]
  • 本文探讨了如何在iOS开发环境中,特别是在Xcode 6.1中,设置和应用自定义文本样式。我们将详细介绍实现方法,并提供一些实用的技巧。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • Explore a common issue encountered when implementing an OAuth 1.0a API, specifically the inability to encode null objects and how to resolve it. ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
  • 根据最新发布的《互联网人才趋势报告》,尽管大量IT从业者已转向Python开发,但随着人工智能和大数据领域的迅猛发展,仍存在巨大的人才缺口。本文将详细介绍如何使用Python编写一个简单的爬虫程序,并提供完整的代码示例。 ... [详细]
  • 本题通过将每个矩形视为一个节点,根据其相对位置构建拓扑图,并利用深度优先搜索(DFS)或状态压缩动态规划(DP)求解最小涂色次数。本文详细解析了该问题的建模思路与算法实现。 ... [详细]
  • 最近团队在部署DLP,作为一个技术人员对于黑盒看不到的地方还是充满了好奇心。多次咨询乙方人员DLP的算法原理是什么,他们都以商业秘密为由避而不谈,不得已只能自己查资料学习,于是有了下面的浅见。身为甲方,虽然不需要开发DLP产品,但是也有必要弄明白DLP基本的原理。俗话说工欲善其事必先利其器,只有在懂这个工具的原理之后才能更加灵活地使用这个工具,即使出现意外情况也能快速排错,越接近底层,越接近真相。根据DLP的实际用途,本文将DLP检测分为2部分,泄露关键字检测和近似重复文档检测。 ... [详细]
  • 作为一名专业的Web前端工程师,掌握HTML和CSS的命名规范是至关重要的。良好的命名习惯不仅有助于提高代码的可读性和维护性,还能促进团队协作。本文将详细介绍Web前端开发中常用的HTML和CSS命名规范,并提供实用的建议。 ... [详细]
  • JavaScript实现表格数据的实时筛选功能
    本文介绍如何使用JavaScript实现对表格数据的实时筛选,帮助开发者提高用户体验。通过简单的代码示例,展示如何根据用户输入的关键字动态过滤表格内容。 ... [详细]
  • 深入理解Redis的数据结构与对象系统
    本文详细探讨了Redis中的数据结构和对象系统的实现,包括字符串、列表、集合、哈希表和有序集合等五种核心对象类型,以及它们所使用的底层数据结构。通过分析源码和相关文献,帮助读者更好地理解Redis的设计原理。 ... [详细]
author-avatar
小么么和
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有