python - 如何在 MongoDB/Python/Django 中按名字和姓氏搜索用户

标签 python algorithm mongodb search

我正在使用 MongoDB 存储数百万个用户文档。
每个文档都有一个 first_namelast_name 键(列)。
该网站的访问者有一个单个文本框,用于为用户查询数据库。
我的目标是像这样输入:
John Doe
Doe John
道琼斯指数
应返回可能名称的列表,例如:
John Doe, Doe John, Dow Jones, Joan Doe, Johan Dow 等...
意思是,应该返回不区分名字/姓氏和“听起来像”的名字。

如何做到这一点?

编辑: 我不必在数据库引擎中执行此操作。应用级搜索也是可以接受的。

最佳答案

有很多 phonetic algorithms与实现“听起来像”匹配有关。根据名称语料库中使用的拼写、发音和语言等文化差异,它们的效果各不相同。

近期文章Using Fuzzy Matching to Search by Sound with Python提供一些可用选项的有用概述:

关于python - 如何在 MongoDB/Python/Django 中按名字和姓氏搜索用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11282457/

相关文章:

algorithm - 最小列总和差异是多少?

java - 在java中的mongo查询中使用distinct

javascript - 如何使用 nodeJS 从 JSON 对象中删除项目?

python - wget 给出响应 ERROR : 418 unused

python:更改后如何物理保存xml文件

Python 与 Pandas - KeyError : u'the label [422] is not in the [index]

mongodb - 如何减少 docker-compose 图像中的 mongo 日志详细程度?

python - 智能存储坐标,获取(lat_,lon_)一定范围内的坐标集合

algorithm - 顶点度数和边去除之间的关系

algorithm - 在lua中生成TTT博弈树