gpt4 book ai didi

mysql - 在数据库中搜索文本字符串,可能是标签

转载 作者:行者123 更新时间:2023-11-29 08:21:47 26 4
gpt4 key购买 nike

这在某种程度上是一个悬而未决的问题,但是我提出这个问题的主要原因是要么知道此类任务的“名称”,要么被指出我应该寻找的正确方向。

我想要实现的是一个可以标记的项目数据库。文本字符串的格式。

例如,如果我们正在谈论电影。

table_movies
movie_id
movie_title
movie_genre

table_tags
tag_id
movie_id
tag_text

电影只会进入其各自的表一次。在 table_tags 表中,movie_id 可以无限次列出,每个标签列出一次。

table_movies
movie_id movie_title movie_genre
1 Notting Hill Romantic Comedy
2 Jurassic Park Science Fiction, Action Adventure
3 Grease Musical
4 Salt Action Adventure
5 Gladiator Drama, Epic, Historical, Adventure, Action
6 E.T. Science Fiction, Action Adventure, Fantasy

table_tags
tag_id movie_id tag_text
1 1 Notting
2 1 Hill
3 1 London
4 1 Market
5 2 Jurassic
6 2 Park
7 2 90s
8 2 T-Rex
9 2 Amber
10 2 Egg
11 3 Grease
12 3 Cars
13 3 Diner
14 4 Salt
15 4 Undercover
16 4 Twist
17 4 Agent
18 5 Gladiator
19 5 Shield
20 5 Roman
21 1 Boy gets girl
22 3 Varsity
23 3 Rock & Roll
24 5 Honour
25 5 Arena
26 6 E.T.
27 6 boy
28 6 alien
29 6 phone home
30 7 Home
31 7 Alone
32 7 robbers
33 7 boy

...等等。这个表会很大。

当用户访问该网站时,他们可以搜索一个单词或一串文本。例如:

男孩得到女孩

我想知道如何做,或者它被称为什么,是在数据库中搜索:

男孩”,“得到”,“女孩”,“男孩得到”,“< em>得到女孩”,“男孩女孩”,“男孩得到女孩”。

这可以自动完成吗?有这个功能吗?

最佳答案

您的问题实际上分为两部分:

在数据库中搜索任意文本

这个的名称是“模式匹配”,在 SQL 中它有多种实现方式:

在这三个中,最后一个可能是最强大的。您可以轻松地做您想做的事:

SELECT * FROM table_tags WHERE MATCH(tag_text) AGAINST('boy gets girl');

最好的部分? 行按相关性顺序返回

根据标签获取电影

我假设因为您使用的是这个双表模型,所以您已经知道如何进行连接,但以防万一,这里是 a resource为你。获得标签 ID 后,您可以轻松获取电影 ID 以及电影实体本身。

关于mysql - 在数据库中搜索文本字符串,可能是标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19187851/

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