更新:我已经在下面回答了这个问题。
我正在尝试修复MySQL查询中的性能问题。我认为我看到的是,将一个函数的结果分配给一个变量,然后运行一个SELECT与该变量进行比较是相对缓慢的。
但是,如果出于测试的考虑,我将变量的比较替换为字符串文本的比较,这相当于我所知道的函数将返回的内容(对于给定的场景),那么查询运行得更快。
例如:
...
SET @metaphone_val := double_metaphone(p_parameter)); -- double metaphone is user defined
SELECT
SQL_CALC_FOUND_ROWS
我正在利用PostgreSQL中的metaphone函数来查找可能拼写错误的重复记录。
SELECT metaphone(first_name, 4), metaphone(last_name, 4)
FROM people GROUP BY metaphone(last_name, 4),
metaphone(first_name, 4) HAVING COUNT(*) > 1;
这对于向我展示我们的数据库中至少有100个潜在的副本是很好的,但是我不能对此做太多的工作,因为我无法从查询结果中获得任何唯一的标识信息。我试过这个:
SELECT person_id, first_name,
我是个超级蟒蛇新手。
我正在尝试确定姓名列表的变音位代码。稍后将对这些代码进行比较,以找到可能听起来相似的名称。
jellyfish模块适合我的需要,我可以在创建列表时获得metaphone代码,如下所示:
import jellyfish
names = ['alexander','algoma','angel','antler']
for i in names:
print(i, "metaphone value =", jellyfish.metaphone(i))
##OUTPUT:
a
我试着索引一些短语,像这样:
"Elasticsearch is a great search engine"
索引样
Elasticsearch # word
is # word
a # word
great # word
engine # word
Elasticsearch is # bi-gram
is a # bi-gram
a great # bi-gram
great s
假设我有一个包含数千个客户名称的索引,我需要能够在管理面板中轻松地搜索它们,如下所示:
John Anders John Smith Sarah Smith Bjarne Stroustrup
我想拥有完整的搜索功能,这意味着:
如果我搜索John,我应该得到John Anders和John Smith。
如果我去找Smith,我应该去找史密斯夫妇。
如果我搜索sarasmit或sara smit,我应该得到Sarah Smith,因为我搜索名称的首字母,而空格并不重要。
如果我搜索johers或joh ers,我应该在搜索包含在名称中的字符串时获得John Anders。
我在github上下载了这个,并试图使用pip install .安装Python,但出现了以下错误消息:
metaphone_ptbrpy.c (32): fatal error C1083
Cannot open include file: '../source/metaphone_ptbr.h'
No such file or directory
error: command 'C:\\Program Files(x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\ x86_amd64\\
cl.exe' fai
我有一个大约有150万个公司记录(名称,国家和其他小文本字段)的mysql数据库,我想用一个标志来标记相同的记录(例如,如果两个公司在美国,那么我必须设置一个字段(match_id)等于一个整数10),对于其他匹配也是如此。目前需要很长时间(几天)我觉得我没有正确使用MYsql我在下面发布了我的代码,有没有更快的方法?
<?php
//Create the table if does not already exist
mysql_query("CREATE TABLE IF NOT EXISTS proj (
id INT(11) NOT NULL AUTO_INCRE
我有一个包含“name”列的MySQL InnoDB表(VARCHAR(255)),我希望用户能够搜索它,并返回所有匹配的行。但是,我不能只使用LIKE查询,因为搜索需要允许用户键入与可用名称相似的名称(例如,使用' the‘作为前缀,或者不知道正确的名称包含撇号)。
下面是两个例子:
数据库中的名字:“Rose and Crown”
应该匹配的可能搜索示例:“Rose &Crown”,“Rose and Crown”,“Rose and Crown”,“The Rose and Crown”
数据库名称:'Diver's Inn‘
应该匹配的可能搜索示例:
我想要搜索整个字符串还是字符串的一部分是数组的一部分。如何在PHP中实现这一点?
另外,我如何在其中使用呢?
示例:
array1={'India','USA','China'};
array2={'India is in east','United States of America is USA','Made in China'}
如果我在array2中搜索array1,那么:
“印度”应该与“印度在东方”相匹配,美国和中国也是如此。