gpt4 book ai didi

php - MySql - 分割包含多个单词的记录

转载 作者:行者123 更新时间:2023-11-29 10:50:05 24 4
gpt4 key购买 nike

我对 MySQL 以及与编码相关的一切都很陌生,我需要你的帮助!我有一个包含以下列的表:

table1
~~~~~~
id,
question,
answer,
keywords.

“关键字”列包含多个单词,中间用逗号分隔(例如:word1、word2、word3 等...)我有一个搜索机器人(用 PHP 编写)每当用户提出问题时(问题应转换为数组/关键字)那么查询应该搜索关键字以找到包含最匹配关键字的行并显示答案。

有正确的方法吗?预先感谢您!

最佳答案

这在 MySQL 中是可能的(参见 SQL split values to multiple rows ),但最佳实践和最方便的解决方案是规范化,确切地说是第一种形式(原子性)。

创建一个名为keywords的新表,其中包含keyword_id(索引)和keyword(唯一),在两个字段上添加复合主键.

使用主表中的 idkeyword_id 创建另一个名为 question_has_keywords 的表,这两个表都是外键。

这称为 N 到 M 关系表,因为许多问题可以有许多关键字。

要查找数据,您可以使用JOIN

Funfact - 使用 MongoDB 聚合($unwind 管道阶段),这将是一项非常简单的任务。

关于php - MySql - 分割包含多个单词的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43891252/

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