问题标签 [soundex]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
854 浏览

python - 使用带有 django 搜索引擎的 soundex 功能

我正在为 django/python 站点构建搜索引擎。一个要求是 soundex 功能,因此如果有人搜索“smith”或“johnson”,搜索将返回“smyth”或“jonsen”等同音词。数据库是 MySQL,FWIW。

什么是推荐的好方法?现在我倾向于使用像 Haystack + Whoosh 这样的东西来捕捉 soundex 功能。

在此先感谢您的帮助。

0 投票
1 回答
2697 浏览

python - 使用 Soundex、python 替换单词

我有一个句子列表,基本上我的目标是用正确的拼写“opposite,near,above,behind”等替换所有不同的介词“opp,nr,off,abv,behnd”。单词的 soundex 代码是相同的,所以我需要构建一个表达式来逐字迭代这个列表,如果 soundex 相同,则用正确的拼写替换它。

一个例子 - ['杰克站在树旁',
'他们完全按照他的计划',
'站在柜台前',
'去加油站']

所以我需要用正确的完整形式替换单词 nr、abv、opp 和 twrds。forward 和 twrds 的 soundex 代码是一样的,所以应该替换它。
我需要遍历这个列表。
这是 soundex 算法:

我是新手,所以如果您有其他方法可以建议,将不胜感激..谢谢。

0 投票
1 回答
257 浏览

python - 用相同的 soundex 替换单词

我有一个带有错误拼写介词的句子列表。我有一个拼写正确的preps列表:

我需要从我的数据中计算单词的 soundex,如果 soundex 匹配,则用我的参考词替换它。这是我的代码:

我真的很困惑.. text1 包含诸如['he was nr the喷泉',...更多]之类的句子。请帮助..我的语法是错误的..

0 投票
1 回答
1593 浏览

mysql - 改进使用 MySQL 查找模糊重复项

我有一张由于操作员输入错误而引起重复记录的名称或公司或产品表。

我正在尝试创建一个工具来管理这个问题。它不会是一个高流量的页面,但它仍然不应该在构建记录集时杀死数据库。我有这个查询,需要几分钟来处理(太长了):

现在除了花费太长时间来返回结果之外,结果有时有点太模糊了。例如,很高兴找到这些:

但这些似乎很遥远:

有没有更快、更不模糊的方法来做到这一点?

0 投票
3 回答
72 浏览

mysql - 在 MySQL 中如何编写 SQL 来搜索字段中的单词?

结果:

我想在该字段的任何位置找到所有包含“哑”的行,包括所有拼写错误和变体。

这未能得到最后一行#5,我怎样才能得到那一行?如果有比 soundex() 更好的解决方案,那很好。

0 投票
0 回答
167 浏览

mysql - Soundex 搜索没有给出正确的结果

我有一个表格产品,用户需要能够使用文本字段上的自动完成功能搜索产品。但我也希望当人们在名称上犯一些小错误时,它也会被发现。

需要什么

我所有的标题格式如下:[brand] [productnamename] [versionname] 例如,我有一个产品 'foo evo HD3455' 我需要在输入 'foo' 或 'evo' 或 'HD2455 时找到它' 或其中的一部分,但当他们键入 'froo eno HD3455' 时,他们也需要找到它

我有的

我有这个 SQL 查询:

什么不工作

它适用于品牌,即使您在名称上犯了一点错误,但是当我搜索 [productname] 或 [versionname] 时,它就不起作用了。当我先键入 [brand] 然后键入 [versionname] 时,其中包含 [versionname] 的结果不显示。

我需要它的地方

我打算将它用于自动完成字段,以便用户可以轻松找到产品,即使他们在搜索文本中犯了错误。

我不能使用全文搜索,因为我使用的是 innoDB

0 投票
3 回答
24425 浏览

search - 使用包含的 Solr 搜索,听起来像

问题:我在 solr 中有电影信息。两个字符串字段定义电影标题和导演姓名。复制字段定义了 solr 搜索默认值的另一个字段。

我想让谷歌搜索范围有限,如下所示。如何实现它。

1)如何在 solr 中搜索包含

例如 a) 如果电影导演的名字是“John Cream”,搜索 joh 不会返回任何内容。但是,searchign for John 返回正确的结果。

b) 如果有一个名为aaabbb的电影名称和另一个名为aaa的电影名称,则搜索 aaa 只会返回一个结果。我需要返回两个结果。

2)如何解释拼写错误

例如,如果电影导演的名字是“John Cream”,则搜索 Jon 不会返回任何结果。solr 有没有像(soundex)这样的好声音实现。如果是这样如何启用它?

您可以使用 solr 查询语法

0 投票
1 回答
1101 浏览

php - 不同的 soundex 值 php 和 mysql

我正在尝试创建一个 mysql 查询,它将从数据库中选择 soundex 等效姓氏。在 php 中,我通过以下方式生成了 soundex 代码:

$sxname = soundex($name);

然后我建立了mysql查询

这适用于很多姓氏,但不适用于其他姓氏 - 例如 CAWS。CAWS 的 php soundex 值为 C200,但 mysql 值为 C000。

有没有解决这些差异的方法?

我确实尝试使用一个函数,所以两者都是在 php 中创建的:

并调用它:

但这也没有用。

0 投票
0 回答
38 浏览

mysql - 获得类似的声音记录

我想从联系人表中查找名称与声音匹配的所有重复名称。例如:Rita 或 Reeta、Microsoft 或 Microsift、Mukherjee 或 Mukherji。

我使用了以下查询:

从联系人中选择contacts.id INNER JOIN (SELECT first_name,last_name,count(*) as rows FROM contactswhere deleted = 0 GROUP BY soundex(first_name),soundex(last_name) HAVING count(rows) > 1) as p where contacts.deleted = 0 和 p。first_name听起来像联系人。first_name和 p。last_name听起来像联系人。last_nameORDER BY contacts.date_entered DESC

上面的查询给出了正确的结果,但是当有很多记录时会花费很多时间。

0 投票
0 回答
77 浏览

mysql - Soundex 针对 CSV 列中的单个值

我怀疑这可能不可行,但我想我还是会尝试。

在 MySQL 数据库中,其中一列related是以逗号分隔的值列表:bob,sally,james,rick.

对于给定的行,此列中的项目数是可变的。

现在,如果我想对该列中的所有项目进行 soundex 搜索(在此数据库建立和集成之后的客户端请求),我将如何处理?我想写一些类似的东西

SELECT `primary` FROM `table` WHERE `related`.split(",").any() SOUNDS LIKE sample

这显然是无意义的代码,但希望能传达这个想法。

本质上,将 CSV 字段分解/拆分为单独的值以SOUNDEX进行比较。如果我必须获取所有这些related字段,将它们分解,然后soundex()在 PHPforeach()循环中单独分解它们(这种语言并不重要,它也可能是 Python,只需稍加努力),但我会如果可能的话,喜欢避免它。