gpt4 book ai didi

MySQL查询返回包含文本列中搜索词的句子

转载 作者:行者123 更新时间:2023-11-28 23:45:14 25 4
gpt4 key购买 nike

我需要一个 MySQL 查询来从包含指定搜索词的文本列中返回完整的句子。

目前我可以使用此查询获取搜索词前后的 20 个字符:

select id, MID(body,(LOCATE('search_word', body)-20),40) from content where body like "%search_word%" limit 1

,但就我所知。

我想得到一个完整的句子(在两个点之间),其中包含我的搜索词。

有什么想法吗?正则表达式?我该怎么做?

最佳答案

为什么不用mysql获取整个字段,然后用实际的编程语言过滤掉句子。

JavaScript 示例如下所示:https://jsfiddle.net/n0wfgjoc/

var text = "Lorem Ipsum is simply dummy text ... versions of Lorem Ipsum.";

var search = "popularised in the";
var pattern = new RegExp('\. ([^.]*' + search + '[^.]*\.)', 'i');

document.getElementsByTagName('body')[0].innerHTML = text.match(pattern)[1];

根据您的需要和您的语言调整 i 应该没有问题。

它应该比在纯 SQL 中执行此操作更高效。

编辑:

正如@David 指出的那样,如果在其他上下文中的文本中使用了点,则可能会出现问题 - 可能是缩写或日期。

解决这个问题将是一项艰巨的任务。我的示例不涵盖该用例。

关于MySQL查询返回包含文本列中搜索词的句子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33722206/

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