gpt4 book ai didi

php - 使用 PHP 在 MySQL 中进行标签/全文搜索

转载 作者:行者123 更新时间:2023-11-29 23:27:32 25 4
gpt4 key购买 nike

正如您从标题中可以看到的,我正在开发一个应该提供搜索选项的项目。用户应该输入几个关键词,结果应该按相关性列出。因为我的数据库大约有 1k-2k 行,所以我需要尽可能准确。研究指出,要制作更多包含行标签的表格。我为此制作了一个原型(prototype),但现在对每一行执行此操作将非常耗时,因为数据库已经存在。我读过,制作某种“爬虫”是可能的?我还听说使用 ISAM 数据库是一种选择。

有人可以建议我一个可能的解决方案吗?或者也许一些例子?

我对 PHP 和 MySQL 有基本的了解。

亲切的问候,力0234

最佳答案

您需要将FULLTEXT INDEX添加到所有可搜索字段并使用MATCH ... AGAINST关键字

SELECT * FROM searchable_table WHERE MATCH(searchable_field) AGAINST('Keyword');
SELECT *, MATCH(searchable_field, searchable_field2) AGAINST('Keyword') as Relevance FROM searchable_table WHERE MATCH(searchable_field, searchable_field2) AGAINST('Keyword');

注意:您可以在 MATCH(...) 中使用几个字段,并在 SELECT 子句中使用它来获取相关性。不要犹豫,使用它两次,MySQL 会优化查询。

请参阅 MySQL 文档 http://dev.mysql.com/doc/refman/5.6/en/innodb-fulltext-index.html , http://dev.mysql.com/doc/refman/5.0/en/fulltext-natural-language.html

关于php - 使用 PHP 在 MySQL 中进行标签/全文搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26842777/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com