php和MySql中的高级搜索词
我有一个MySql表,其中包含一个标题字段 假设用户在输入文本框中输入一个术语 现在,我想选择标题字段具有以下状态之一的行: 1) 其标题与术语完全相同:php和MySql中的高级搜索词,php,mysql,laravel,Php,Mysql,Laravel,我有一个MySql表,其中包含一个标题字段 假设用户在输入文本框中输入一个术语 现在,我想选择标题字段具有以下状态之一的行: 1) 其标题与术语完全相同:“sugar”>>“sugar” 2) 它的标题中有一个词类似于这个词:“美丽的花”>>“玫瑰花” 3) 它的名字和这个词来自同一个词族(这个词是这些词的词根):“生物学”>>“传记,生物可降解,共生” 我用的是拉威尔。如果你能提出任何解决方案,那就太好了。这是一个简单的解决方案,直到你提到word family 然而,这仍然是可以实现的。这是
“sugar”>>“sugar”
2) 它的标题中有一个词类似于这个词:“美丽的花”>>“玫瑰花”
3) 它的名字和这个词来自同一个词族(这个词是这些词的词根):“生物学”>>“传记,生物可降解,共生”
我用的是拉威尔。如果你能提出任何解决方案,那就太好了。这是一个简单的解决方案,直到你提到word family 然而,这仍然是可以实现的。这是关于你如何处理它 首先在MySQL中使用
like
条件
你可以在MySQL网站上阅读更多关于它的信息
下面是一个例子:
从my_表中选择*字段1,如“%searchTerm%”代码>
在“单词族”获取结果方面,您可能需要考虑将标记添加到结果中。
在表中添加一个
tags
字段,并添加一个与“单词族”相关的标记数组
您的查询将如下所示:
从my_表中选择*,其中字段1类似于“%searchTerm%”或字段2类似于“%searchTerm%”代码>
您需要在标记数组中循环查找匹配项(如果有的话)
只是我的入门方法
就如何做到这一点而言,您的查询可能看起来像这样,根据他们的
我当然希望这能让你走上正确的方向 这是一个简单的解决方案,直到你提到“家族”这个词
然而,这仍然是可以实现的。这是关于你如何处理它
首先在MySQL中使用like
条件
你可以在MySQL网站上阅读更多关于它的信息
下面是一个例子:
从my_表中选择*字段1,如“%searchTerm%”代码>
在“单词族”获取结果方面,您可能需要考虑将标记添加到结果中。
在表中添加一个
tags
字段,并添加一个与“单词族”相关的标记数组
您的查询将如下所示:
从my_表中选择*,其中字段1类似于“%searchTerm%”或字段2类似于“%searchTerm%”代码>
您需要在标记数组中循环查找匹配项(如果有的话)
只是我的入门方法
就如何做到这一点而言,您的查询可能看起来像这样,根据他们的
我当然希望这能让你走上正确的方向 前两个在mysql中使用类似的条件。你如何定义词根?您需要定义词根标准,并在词根顶部使用类似条件。您是否调查过全文搜索?你应该知道词干(你称之为词族)是一个很难解决的问题,如果你想做得很好,你可能需要一个像Lucene或Sphinx这样的搜索程序。前两个在mysql中使用类似的条件。你如何定义词根?您需要定义词根标准,并在词根顶部使用类似条件。您是否调查过全文搜索?你应该知道词干分析(你称之为词族)是一个很难解决的问题,如果你想把它做好,你可能需要像Lucene或Sphinx这样的搜索程序。W3学校?朋友不让朋友。。。。说真的,它已经过时了,而且经常扭曲。哈,我100%同意。。。我们在讨论MySQL中的一个基本条件。W3Schools恰好在很大程度上正确地做到了这一点。好吧,那么,只要人们知道互联网上的一切都是真实的!我不理解您所说的“在表中添加一个标记字段并添加一个与单词family相关的标记数组”是什么意思。您能解释一下吗?您将在表中添加一个名为tags的字段。你怎么称呼它其实并不重要。如果你愿意,可以称之为“单词家族”。然后,只需将一组单词放入word family.w3中即可?朋友不让朋友。。。。说真的,它已经过时了,而且经常扭曲。哈,我100%同意。。。我们在讨论MySQL中的一个基本条件。W3Schools恰好在很大程度上正确地做到了这一点。好吧,那么,只要人们知道互联网上的一切都是真实的!我不理解您所说的“在表中添加一个标记字段并添加一个与单词family相关的标记数组”是什么意思。您能解释一下吗?您将在表中添加一个名为tags的字段。你怎么称呼它其实并不重要。如果你愿意,可以称之为“单词家族”。然后,只需将一组单词放入单词族中即可。
$results = DB::table('table1')
->where('myfield', 'like', '%searchterm%')
->get();