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



推荐阅读
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 本文介绍了如何使用PHP向系统日历中添加事件的方法,通过使用PHP技术可以实现自动添加事件的功能,从而实现全局通知系统和迅速记录工具的自动化。同时还提到了系统exchange自带的日历具有同步感的特点,以及使用web技术实现自动添加事件的优势。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文介绍了一些好用的搜索引擎的替代品,包括网盘搜索工具、百度网盘搜索引擎等。同时还介绍了一些笑话大全、GIF笑话图片、动态图等资源的搜索引擎。此外,还推荐了一些迅雷快传搜索和360云盘资源搜索的网盘搜索引擎。 ... [详细]
  • 本文详细介绍了GetModuleFileName函数的用法,该函数可以用于获取当前模块所在的路径,方便进行文件操作和读取配置信息。文章通过示例代码和详细的解释,帮助读者理解和使用该函数。同时,还提供了相关的API函数声明和说明。 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • EPICS Archiver Appliance存储waveform记录的尝试及资源需求分析
    本文介绍了EPICS Archiver Appliance存储waveform记录的尝试过程,并分析了其所需的资源容量。通过解决错误提示和调整内存大小,成功存储了波形数据。然后,讨论了储存环逐束团信号的意义,以及通过记录多圈的束团信号进行参数分析的可能性。波形数据的存储需求巨大,每天需要近250G,一年需要90T。然而,储存环逐束团信号具有重要意义,可以揭示出每个束团的纵向振荡频率和模式。 ... [详细]
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • MACElasticsearch安装步骤及验证方法
    本文介绍了MACElasticsearch的安装步骤,包括下载ZIP文件、解压到安装目录、启动服务,并提供了验证启动是否成功的方法。同时,还介绍了安装elasticsearch-head插件的方法,以便于进行查询操作。 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
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社区 版权所有