首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
search
random
cmd
input
typescript
io
datetime
function
frameworks
php7
node.js
hashset
bitmap
md5
import
web
express
cSharp
testing
cPlusPlus
vba
process
cookie
match
request
config
copy
hook
integer
audio
byte
python2
triggers
uml
php8
usb
heatmap
char
callback
instance
golang
const
controller
sum
list
hash
schema
range
js
email
cpython
post
settings
ip
netty
split
httprequest
window
web3
include
python3
header
version
substring
require
text
ascii
replace
vbscript
spring
fetch
httpclient
hashtable
default
erlang
lua
client
select
loops
当前位置:
开发笔记
>
编程语言
> 正文
某点评网搜索策略的一些理解
作者:小么么和 | 来源:互联网 | 2023-12-09 08:18
本文介绍了某点评网的搜索策略,包括名称和地址的匹配策略,模糊匹配的方法以及不同口音和拼音的近似发音。同时提供了一些例子来说明这些策略的应用。
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,shuguang
http://www.dianping.com/search/keyword/1/0_shuguang
例子2,shuguan
http://www.dianping.com/search/keyword/1/0_shuguan
两个搜索返回的结果基本一致,并且同时出现提醒,你要找的是不是
曙光
书馆
例子3,caguan
http://www.dianping.com/search/keyword/1/0_caguan
你要找的是不是
茶馆
例子4,canguan(餐馆)
http://www.dianping.com/search/keyword/1/0_canguan
上海站全部商户中,没有找到"canguan"(0)
例子5,cacanting
http://www.dianping.com/search/keyword/1/0_cacanting
你要找的是不是
查餐厅
茶餐厅
例子6,xijiaobailian(西郊百联)
http://www.dianping.com/search/keyword/1/0_xijiaobailian
你要找的是不是
西郊百联
例子7,xijiaobalian
http://www.dianping.com/search/keyword/1/0_xijiaobalian
你要找的是不是
西郊百联
例子8,xijiaoblian
http://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,jiaoda
http://www.dianping.com/search/keyword/1/0_jiaoda
你要找的是不是
交大
例子10,jiada
http://www.dianping.com/search/keyword/1/0_jiada
你要找的是不是
佳达
例子11,jiaod
http://www.dianping.com/search/keyword/1/0_jiaod
上海站全部商户中,没有找到"jiaod"(0)
例子12,shangda
http://www.dianping.com/search/keyword/1/0_shangda
你要找的是不是
散打
上大
杉达
例子13,shangd
http://www.dianping.com/search/keyword/1/0_shangd
上海站全部商户中,没有找到"shangd"(0)
例子14,sangda
http://www.dianping.com/search/keyword/1/0_sangda
你要找的是不是
散打
上大
杉达
例子15,suguang
http://www.dianping.com/search/keyword/1/0_suguang
你要找的是不是
曙光
书馆
由上面的例子可以推测,b3 的描述可能是不正确的(例子9,11不符合
最小编辑距离匹配),不能完全断定 -- 查询使用了 最小编辑距离匹配,应该还加入了 口音 的考虑(对比 例子15 与前面的例子1,2):
<1> 不同的口音,相同的拼音,存在不同的发音,考虑了同一个拼音,近似发音的匹配
<2> 不同的口音,不同的拼音,存在近似的发音,
后续有新发现,继续补充
3. 查询串为 汉字+拼音
例子16,属guang
http://www.dianping.com/search/keyword/1/0_属guang
你要找的是不是
曙光
书馆
例子25,素guang
http://www.dianping.com/search/keyword/1/0_素guang
你要找的是不是
曙光
书馆
例子17,属guan
http://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">
例子20,shang大
http://www.dianping.com/search/keyword/1/0_shang大
例子21,shang大lei
http://www.dianping.com/search/keyword/1/0_shang大lei
例子22,shanglei大
http://www.dianping.com/search/keyword/1/0_shanglei大
上海站全部商户中,没有找到"shanglei大"(0
例子23,上da
http://www.dianping.com/search/keyword/1/0_上da
例子24,西jiaobailian
http://www.dianping.com/search/keyword/1/0_西jiaobailian
你要找的是不是
西郊百联
a. 首先不区分 拼音 汉字,进行 全文检索,找到包含整个串的POI,不考虑 查找单元 的顺序
a1. 连续的拼音视为一个查找单元,单个汉子视为查找单元,参考例子20,21,22
a2. 查找不到包含所有 查找单元 的 POI系统,转到 b
b. 汉字映射为拼音,转行为 第二条 纯拼音 搜索,注意 例子17,25
搜索
http
search
key
https
go
vb
int
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
process
云原生边缘计算之KubeEdge简介及功能特点
本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ...
[详细]
蜡笔小新 2023-12-14 16:49:01
web
如何使用PHP向系统日历中添加事件?
本文介绍了如何使用PHP向系统日历中添加事件的方法,通过使用PHP技术可以实现自动添加事件的功能,从而实现全局通知系统和迅速记录工具的自动化。同时还提到了系统exchange自带的日历具有同步感的特点,以及使用web技术实现自动添加事件的优势。 ...
[详细]
蜡笔小新 2023-12-14 21:02:28
io
微软头条实习生分享深度学习自学指南
本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ...
[详细]
蜡笔小新 2023-12-14 20:58:32
io
数据库的存储结构及其重要性
本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ...
[详细]
蜡笔小新 2023-12-14 16:00:02
search
收集一些好用的搜索引擎的替代品
本文介绍了一些好用的搜索引擎的替代品,包括网盘搜索工具、百度网盘搜索引擎等。同时还介绍了一些笑话大全、GIF笑话图片、动态图等资源的搜索引擎。此外,还推荐了一些迅雷快传搜索和360云盘资源搜索的网盘搜索引擎。 ...
[详细]
蜡笔小新 2023-12-13 16:47:45
search
获取当前模块所在路径的GetModuleFileName函数用法详解
本文详细介绍了GetModuleFileName函数的用法,该函数可以用于获取当前模块所在的路径,方便进行文件操作和读取配置信息。文章通过示例代码和详细的解释,帮助读者理解和使用该函数。同时,还提供了相关的API函数声明和说明。 ...
[详细]
蜡笔小新 2023-12-14 19:29:57
search
每天收获一点点Hadoop概述
一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ...
[详细]
蜡笔小新 2023-12-14 18:58:01
cmd
解决Docker中volume的权限问题的方法
在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ...
[详细]
蜡笔小新 2023-12-14 18:48:02
function
GetWindowLong函数
今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ...
[详细]
蜡笔小新 2023-12-14 17:58:15
io
EPICS Archiver Appliance存储waveform记录的尝试及资源需求分析
本文介绍了EPICS Archiver Appliance存储waveform记录的尝试过程,并分析了其所需的资源容量。通过解决错误提示和调整内存大小,成功存储了波形数据。然后,讨论了储存环逐束团信号的意义,以及通过记录多圈的束团信号进行参数分析的可能性。波形数据的存储需求巨大,每天需要近250G,一年需要90T。然而,储存环逐束团信号具有重要意义,可以揭示出每个束团的纵向振荡频率和模式。 ...
[详细]
蜡笔小新 2023-12-14 17:43:56
io
如何去除Win7快捷方式的箭头
本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ...
[详细]
蜡笔小新 2023-12-14 16:17:05
web
如何使用Java获取服务器硬件信息和磁盘负载率
本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ...
[详细]
蜡笔小新 2023-12-14 13:56:20
io
Open judge C16H: Magical Balls 快速幂+逆元问题解析
本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ...
[详细]
蜡笔小新 2023-12-14 12:03:27
io
MACElasticsearch安装步骤及验证方法
本文介绍了MACElasticsearch的安装步骤,包括下载ZIP文件、解压到安装目录、启动服务,并提供了验证启动是否成功的方法。同时,还介绍了安装elasticsearch-head插件的方法,以便于进行查询操作。 ...
[详细]
蜡笔小新 2023-12-13 23:42:43
match
Python正则表达式学习记录及常用方法
本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ...
[详细]
蜡笔小新 2023-12-13 16:37:19
小么么和
这个家伙很懒,什么也没留下!
Tags | 热门标签
search
random
cmd
input
typescript
io
datetime
function
frameworks
php7
node.js
hashset
bitmap
md5
import
web
express
cSharp
testing
cPlusPlus
vba
process
cookie
match
request
config
copy
hook
integer
audio
RankList | 热门文章
1
n个元素重新组合
2
linux常用命令服务/内存/进程/磁盘/挂载【service / free / top / df / mount】
3
原Google、Facebook产品经理分享产品管理核心之道
4
赋值
5
MySQL实数类型
6
PATB 1057. 数零壹
7
数据分析常用网站持续更新!!!
8
[Software Development Process] {ud805} excerpt
9
NOIP竞赛学习整理动态规划算法举例P1264
10
html怎么让图片若隐若现,jquery 如何实现一个div元素的若隐若现的效果呢?
11
计算乘积等于 K 的所有不同对
12
开发工具 gcc编译器使用
13
java restful接口开发_SpringBoot restful api接口设计,全局JOSN格式 交互
14
硕方tp66i线号机驱动
15
(转) ICCV 2015:21篇最火爆研究论文
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有