我正在使用 PHP 和 mysqli 从数据库中获取记录。
表引擎 = innoDB
.
MYSQL v5.5
假设我有这个记录
1 |美丽的瑞士女孩|
2 |公园里美丽的兔子 |
3 |天然海|
现在,如果搜索查询是 Beautiful
它将返回前 2 条记录,但问题是如果我搜索 Beautiful anything
,它不会返回任何内容,但我希望在这种情况下显示前 2 条记录,因为它包含单词 beautiful
在里面。我正在使用SELECT * FROM table WHERE name LIKE '%value%' ORDER BY id ASC
作为现在搜索的 mysql 查询。
是否有任何其他查询或方法可以实现此目的,或者唯一可能的选择是开发自定义算法。
最佳答案
我建议使用 Lucene 或 Solr 来实现全文搜索功能。这将为您提供非常快速的数据相对直接的数据库查询。
引用链接:
http://oak.cs.ucla.edu/cs144/projects/lucene/
http://www.avajava.com/tutorials/lessons/how-do-i-use-lucene-to-index-and-search-text-files.html
关于php - 如何使用 PHP MySql 搜索搜索查询中的每个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25972476/