gpt4 book ai didi

php - 文本搜索以与 Mysql 数据库表进行比较

转载 作者:行者123 更新时间:2023-11-30 01:37:35 25 4
gpt4 key购买 nike

假设我有一个包含单词的字符串。其中一些单词可能是复合词。

我还有一个 MySQL 数据库,其中包含一个表,该表包含一个名为“words”的列。此列可能包含出现在我的字符串中的单词,包括复合词。

当我只有字符串时,我希望能够找出要从数据库中检索哪些行。不能将其拆分为空格字符,因为这将无法检测数据库中的任何复合词是否出现在字符串中。

关于如何解决这个问题有什么建议吗?

最佳答案

您可以通过以下方法来完成此操作。我们假设您的字符串以空格作为分隔符并且从不包含逗号。

select *
from words w
where find_in_set(w.word, replace(<your string>, ' ', ',')) > 0;

如果字符串中的分隔符有点复杂 - 比如说它确实有标点符号,那么您可能最好使用 regexp 而不是 find_in_set:

select *
from words w
where concat(',', <your string>, ',') REGEXP concat('[ ,.!?]', w.word, '[ ,.!?]')

关于php - 文本搜索以与 Mysql 数据库表进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16636892/

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