我正在尝试使用全文搜索和SOUNDEX实现名字和姓氏搜索(如果名称拼写错误).
我试图做类似的事情
SELECT *
FROM employees
WHERE
MATCH SOUNDEX(first_name, last_name) AGAINST SOUNDEX('John 1969 Ivan')
Run Code Online (Sandbox Code Playgroud)
但这不是一个有效的语法.
我想要实现的是,当用户输入例如"Jon Ivan"的列时
first_name | last_name
----------------------
John Ivan
Run Code Online (Sandbox Code Playgroud)
会匹配.
先感谢您!
我有大约400'000个文件,需要更换一些文本.
我尝试了以下Perl脚本:
@files = <*.html>;
foreach $file (@files) {
`perl -0777 -i -pe 's{<div[^>]+?id="user-info"[^>]*>.*?</div>}{}gsmi;' $file`;
`perl -0777 -i -pe 's{<div[^>]+?class="generic"[^>]*>[^\s]*<small>[^\s]*Author.*?</div>.*?</div>.*?</div>.*?</div>.*?</div>}{}gsmi;' $file`;
`perl -0777 -i -pe 's{<script[^>]+?src="javascript.*?"[^>]*>.*?</script>}{}gsmi;' $file`;
`perl -p -i -e 's/.css.html/.css/g;' $file`;
}
Run Code Online (Sandbox Code Playgroud)
我没有深入的Perl知识,但脚本运行速度太慢(每天只更新大约180个文件).
有没有办法加快速度?
先感谢您!
PS:当我在少量文件上测试它时,我注意到了更好的性能......