快速MYSQL/PHP问题。如果使用普通搜索查询没有找到结果,我将使用“不太严格”的搜索查询作为后备,调整为:foreach($find_arrayas$word){clauses[]="(firstnameSOUNDSLIKE'$word%'ORlastnameSOUNDSLIKE'$word%')";}if(!empty($clauses))$filter='('.implode('AND',$clauses).')';$query="SELECT*FROMtableWHERE$filter";现在,我使用PHP来突出显示结果,例如:foreach($find_arrayas$te
我有一个网站需要搜索大约20-30k条记录,其中大部分是电影和电视节目的名称。该站点使用内存缓存运行php/mysql。我希望将FULLTEXT替换为我目前拥有的soundex()搜索,这很有效……有点,但在很多情况下不是很好.是否有任何易于实现的体面的搜索脚本,并将提供体面的搜索功能(表格中的3列)。 最佳答案 ewemli的回答是正确的,但你应该结合FULLTEXT和soundex映射,而不是替换全文,否则你的LIKE查询可能会很慢。createtablewith_soundex(idINTUNSIGNEDAUTO_INCREM
我需要从我的数据库(mysql)中搜索印度名字。我尝试了SOUNDEX函数,但对于长的印度名称它失败了。 最佳答案 在这种情况下,我建议对MySQL使用双音位算法。DoubleMetaphone旨在处理与来自不同根语言的单词相关的困难。它基于Metaphone,旨在纠正Soundex的一些缺陷。这是DoubleMetaphone站点的链接,您可以在其中了解更多信息,还可以查看包括MySQL在内的多种语言的示例:http://www.atomodo.com/code/double-metaphone
我需要MySQL代码来检查通过表单提交的文本与存储在MySQL数据库中的大量文本之间的相似度百分比。我正在寻找可以像PHP的similar_text()一样工作的MySQL存储过程功能。已有MySQLLevenshtein距离过程,但还不够。当用户提交文本时,算法应返回数据库中与提交的文本具有给定相似度百分比的任何条目(它将只比较数据库中的一列),例如返回数据库中相似度>40%的所有条目用户提交的文本。例如表格TABLE-Articlesid,article_body,article_title代码应返回与用户提交的文本(article_body)相似度百分比>40%(或其他给定值)的
我正在尝试创建一个算法来建议MadGab风格短语。输入是一组短语。我还有一组关键字,我想尽可能使用它们。目前,我的解决方案只是蛮力:循环遍历短语(逐个字符)如果找到关键字存储关键字和分支(递归)增加字符数但是,我遇到的问题是:考虑复合关键字,例如"catchs"可以是"catches"、"cat"+"cheeses"允许使用字面术语-“the”、“and”、“one”、“two”、“three”。如何建议不是关键字的字词。即当找不到关键字或文字时,求助于系统字典之类的东西。跳过词组。现在它只是通过一次。但请考虑以下情况:短语以不匹配的内容开头,但后面的几个字符包含匹配项。我最熟悉PHP
我正在尝试创建一个算法来建议MadGab风格短语。输入是一组短语。我还有一组关键字,我想尽可能使用它们。目前,我的解决方案只是蛮力:循环遍历短语(逐个字符)如果找到关键字存储关键字和分支(递归)增加字符数但是,我遇到的问题是:考虑复合关键字,例如"catchs"可以是"catches"、"cat"+"cheeses"允许使用字面术语-“the”、“and”、“one”、“two”、“three”。如何建议不是关键字的字词。即当找不到关键字或文字时,求助于系统字典之类的东西。跳过词组。现在它只是通过一次。但请考虑以下情况:短语以不匹配的内容开头,但后面的几个字符包含匹配项。我最熟悉PHP
在C++和/或Java中实现语音搜索的最有效方法是什么?通过语音搜索,我的意思是替换听起来相似的元音或辅音。这对名字特别有用,因为有时人们的名字有一些奇怪的拼写。我认为替换元音和一些辅音可能是有效的。最好包括一些特殊情况,例如末尾的静音E或F和PH。最好在C++中使用cstrings或字符串吗?是不是在内存中存储一个带有替换值的拷贝,或者每次查找时调用一个函数会更好? 最佳答案 除了Soundex你还会发现Metaphone或DoubleMetaphone语音算法,这似乎是对英语发音和是一个相当新的算法。对于德语发音,我使用“K
在C++和/或Java中实现语音搜索的最有效方法是什么?通过语音搜索,我的意思是替换听起来相似的元音或辅音。这对名字特别有用,因为有时人们的名字有一些奇怪的拼写。我认为替换元音和一些辅音可能是有效的。最好包括一些特殊情况,例如末尾的静音E或F和PH。最好在C++中使用cstrings或字符串吗?是不是在内存中存储一个带有替换值的拷贝,或者每次查找时调用一个函数会更好? 最佳答案 除了Soundex你还会发现Metaphone或DoubleMetaphone语音算法,这似乎是对英语发音和是一个相当新的算法。对于德语发音,我使用“K
我想在我的android应用程序中以语音方式比较字符串。但这里的特例是,我想比较用英语写的印度语单词。例如,我想检查“Edhu”“Adhu”“Yethu”是否在语音上相等,它们在泰米尔语中的意思都相同。但是使用英语脚本编写印度语言的人使用不同的拼写来制作这个词。在这种情况下如何比较单词?我试用了Levenshtein。但我不确定如何将它返回的数字转换为相等。我试过Soundex,当单词的第一个字母发生变化时,Soundex代码是不一样的。但它能够找出相似的发声部分。我不明白它是如何工作的。soundex.encode("Yethu")(soundex.encode("Edhu"))(s
我想在我的android应用程序中以语音方式比较字符串。但这里的特例是,我想比较用英语写的印度语单词。例如,我想检查“Edhu”“Adhu”“Yethu”是否在语音上相等,它们在泰米尔语中的意思都相同。但是使用英语脚本编写印度语言的人使用不同的拼写来制作这个词。在这种情况下如何比较单词?我试用了Levenshtein。但我不确定如何将它返回的数字转换为相等。我试过Soundex,当单词的第一个字母发生变化时,Soundex代码是不一样的。但它能够找出相似的发声部分。我不明白它是如何工作的。soundex.encode("Yethu")(soundex.encode("Edhu"))(s