Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 搜索功能,在结果中提供同义词或提供更正_Php_Mysql_Full Text Search_Multilingual - Fatal编程技术网

Php 搜索功能,在结果中提供同义词或提供更正

Php 搜索功能,在结果中提供同义词或提供更正,php,mysql,full-text-search,multilingual,Php,Mysql,Full Text Search,Multilingual,首先,我不知道什么是合适的关键词来找到这个,因此,请原谅,可能是误导性的标题和/或重复的问题 例如,当你在谷歌搜索“土豆”时,它会自动将你指向土豆。我如何在我的应用程序中实现这一点 细微差别:它必须是多语言的,因为应用程序主要面向非英语人士 提前谢谢 编辑: 嗯,斯芬克斯还有别的选择吗?因为它看起来像是在发布应用程序时托管的目标服务器上,所以他们不会拥有它。有一个很好的库,可以与mysql一起安装,也可以作为单独的deamon运行,它包括一个用于不同语言(包括php)的API 它将建立索引,以便

首先,我不知道什么是合适的关键词来找到这个,因此,请原谅,可能是误导性的标题和/或重复的问题

例如,当你在谷歌搜索“土豆”时,它会自动将你指向土豆。我如何在我的应用程序中实现这一点

细微差别:它必须是多语言的,因为应用程序主要面向非英语人士

提前谢谢

编辑:
嗯,斯芬克斯还有别的选择吗?因为它看起来像是在发布应用程序时托管的目标服务器上,所以他们不会拥有它。

有一个很好的库,可以与mysql一起安装,也可以作为单独的deamon运行,它包括一个用于不同语言(包括php)的API

它将建立索引,以便将“potat”、“potato”和“potato”视为同一个词

为了做到“你的意思是……”,在索引信息时,它有一个选项,可以保存单词列表及其在文档中的频率,因此,如果没有找到结果,可以将其作为此列表


祝你好运

你可以试着看看mysql的-或-语法,它似乎可以改善你的搜索结果,但这不适用于获得某种“你是说?”-建议。

你要搜索的内容子集有限吗因为如果是这样,一个简单的自动完成的单词列表就可以了。如果没有,你可能会很幸运&找到一本免费的字典,但通常你必须支付一本可用数字格式的字典。不,自动完成这次不会削减它。那么多语言支持呢。。。例如,如果我将搜索词用作“šiple”,它会将“šipele”视为同一个词吗?它也可以。。。我用它作为一个法国搜索引擎,它与utf8配合很好。。。我告诉斯芬克斯将每个带重音的字母转换为普通字母,例如:é=>e,è=>eè=>e。。在你的例子中,šķiple将被编入“skiple”中。。我还安装了一个法语libstemer来处理变位和复数,你也可以手动告诉斯芬克斯,“šiple”必须被威胁为“šipele”