MySQL上的全文搜索:在一个数据库表中通过多个单词执行搜索

问题描述 投票:1回答:1

我有用户数据库表:

|firstname|lastname|username|Country|id|
------------------------------------------------
|Ricky    |Jonh    |rjohn   |USA    |1 |
|Mery     |Cris    |mcris   |USA    |2 |
|Ricky    |Cris    |rcris   |Germany|3 |
|Michacle |Ricky   |mricky  |USA    |4 |
|Michacle |Jonh    |john    |USA    |5 |

如果用户输入:

  • “ Ricky”-搜索应返回3条记录(1,3,4)

  • “ Ricky USA”-应该返回2条记录(因为只有第一条和第三条记录的列上有这些词)]]

  • “ Ricky John USA”-仅返回第一条记录。

  • 因此搜索应返回记录,其中每个搜索词应在一个记录中,但可以在不同的列上。

有人可以分享一种在MySQL上实现这种搜索的方法。

我有用户数据库表:|名字|姓|用户名|国家/地区| id | ------------------------------------------------ | Ricky |乔恩| rjohn |美国| 1 | | Mery | Cris | mcris |美国| 2 | | ...

mysql algorithm search full-text-search
1个回答
0
投票

这涉及设置然后使用FULLTEXT索引。设置索引(https://www.db-fiddle.com/f/2E7ep7eos8wNWUNq6VTCEv/0):

© www.soinside.com 2019 - 2024. All rights reserved.