热门标签 | 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



推荐阅读
  • 实用正则表达式有哪些
    小编给大家分享一下实用正则表达式有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下 ... [详细]
  • Coursera ML 机器学习
    2019独角兽企业重金招聘Python工程师标准线性回归算法计算过程CostFunction梯度下降算法多变量回归![选择特征](https:static.oschina.n ... [详细]
  • 在现代Web应用中,当用户滚动到页面底部时,自动加载更多内容的功能变得越来越普遍。这种无刷新加载技术不仅提升了用户体验,还优化了页面性能。本文将探讨如何实现这一功能,并介绍一些实际应用案例。 ... [详细]
  • 本文探讨了如何在iOS开发环境中,特别是在Xcode 6.1中,设置和应用自定义文本样式。我们将详细介绍实现方法,并提供一些实用的技巧。 ... [详细]
  • Python第三方库安装的多种途径及注意事项
    本文详细介绍了Python第三方库的几种常见安装方法,包括使用pip命令、集成开发环境(如Anaconda)以及手动文件安装,并提供了每种方法的具体操作步骤和适用场景。 ... [详细]
  • 利用决策树预测NBA比赛胜负的Python数据挖掘实践
    本文通过使用2013-14赛季NBA赛程与结果数据集以及2013年NBA排名数据,结合《Python数据挖掘入门与实践》一书中的方法,展示如何应用决策树算法进行比赛胜负预测。我们将详细讲解数据预处理、特征工程及模型评估等关键步骤。 ... [详细]
  • 本文详细介绍了C++中map容器的多种删除和交换操作,包括clear、erase、swap、extract和merge方法,并提供了完整的代码示例。 ... [详细]
  • 采用IKE方式建立IPsec安全隧道
    一、【组网和实验环境】按如上的接口ip先作配置,再作ipsec的相关配置,配置文本见文章最后本文实验采用的交换机是H3C模拟器,下载地址如 ... [详细]
  • 全面解析运维监控:白盒与黑盒监控及四大黄金指标
    本文深入探讨了白盒和黑盒监控的概念,以及它们在系统监控中的应用。通过详细分析基础监控和业务监控的不同采集方法,结合四个黄金指标的解读,帮助读者更好地理解和实施有效的监控策略。 ... [详细]
  • 本文探讨了为何相同的HTTP请求在两台不同操作系统(Windows与Ubuntu)的机器上会分别返回200 OK和429 Too Many Requests的状态码。我们将分析代码、环境差异及可能的影响因素。 ... [详细]
  • 获取Jedis和Commons Pool JAR包的两种方法及详细步骤
    本文介绍如何通过网盘链接或官方网站获取Jedis和Commons Pool的JAR包,并提供详细的图文教程。同时,还附有导入JAR包到项目的相关建议。 ... [详细]
  • JavaScript 基础语法指南
    本文详细介绍了 JavaScript 的基础语法,包括变量、数据类型、运算符、语句和函数等内容,旨在为初学者提供全面的入门指导。 ... [详细]
  • 在高并发需求的C++项目中,我们最初选择了JsonCpp进行JSON解析和序列化。然而,在处理大数据量时,JsonCpp频繁抛出异常,尤其是在多线程环境下问题更为突出。通过分析发现,旧版本的JsonCpp存在多线程安全性和性能瓶颈。经过评估,我们最终选择了RapidJSON作为替代方案,并实现了显著的性能提升。 ... [详细]
  • 深入解析ESFramework中的AgileTcp组件
    本文详细介绍了ESFramework框架中AgileTcp组件的设计与实现。AgileTcp是ESFramework提供的ITcp接口的高效实现,旨在优化TCP通信的性能和结构清晰度。 ... [详细]
  • 本文将详细介绍如何在没有显示器的情况下,使用Raspberry Pi Imager为树莓派4B安装操作系统,并进行基本配置,包括设置SSH、WiFi连接以及更新软件源。 ... [详细]
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社区 版权所有