php - 如何使用 PHP MySql 搜索搜索查询中的每个单词

标签 php mysql sql mysqli

我正在使用 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/

相关文章:

php - SQL 查询在 MySQL 中返回完整结果,在 PHP 中返回部分结果

php - CakePHP : How to Create OptGroup Drop down list from DataBase?

javascript - PHP 样式在 HTML 中插入文件内容

javascript - Ajax 调用没有错误但不起作用

java - 使用外部库 mysql-connector-java-5.1.24-bin.jar 在 Unix 上编译 Java 项目

python - 检查 SQLAlchemy 中互斥列的约束

php - 在 PHP 中,如何即时解压缩压缩了两次的文件?

php - Mysql更新但保留旧数据?

sql - SQL Server :An expression of non-boolean type specified in a context where a condition is expected

SQL Server 2005 从 Excel (VBA) 运行存储过程