php - 从搜索框中获取内容在数据库中查找它

标签 php mysql pdo

我知道这是一个广泛的问题,但说真的..我真的找不到并回答这个问题,只有 LIKE 关键字检查它是否包含它..

我想在数据库中查找某些内容,如果它包含它,以它开头或以它结尾,并按最受欢迎的结果排序?

我在 bootstrap 中有一个搜索框,当内容更改时,会发送一个 ajax 请求以获取新内容。

有办法做到这一点。

最佳答案

使用 LIKE 没什么。在 mysql 中使用全文搜索。有缺点:需要 myisam,仅适用于 char/varchar/text 字段。在这里查看更多信息: https://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html

一个很好的选择是使用真正的搜索引擎,例如 Elasticsearch,它构建在 Apache Lucene 之上:快速、相关、灵活、适应性强,可与 json api 配合使用。在这里查看更多信息:https://www.elastic.co/products/elasticsearch

关于php - 从搜索框中获取内容在数据库中查找它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32595485/

相关文章:

php - .htaccess 删除 index.php 并从 URL 中隐藏参数键

PHP PDO MYSQL - 获取不返回结果的地方

php - PHP 的 password_hash 如何生成盐?

java - 想从数据库中检索 java 中 xml 标记的值

mysql - MATCH AGAINST 对 FULLTEXT 索引不返回任何行

php - 子查询和主查询中的日期之前

php - JOIN 只返回一个结果

php - PDO 测试是否连接

php - 在模型或 Controller 中处理错误?

php - 在 Woocommerce 单个产品页面中显示自定义分类法