gpt4 book ai didi

sql - 测试短语以查看它们是否相互匹配

转载 作者:行者123 更新时间:2023-12-02 03:22:12 25 4
gpt4 key购买 nike

我有大量的短语(〜几百万),每个短语少于六或七个单词,并且大多数少于五个,我想看看它们是否“短语匹配”。这是一个搜索引擎营销术语 - 本质上,如果 A 包含在 B 中,则 A 短语与 B 匹配。现在,它们存储在数据库(postgres)中,并且我正在正则表达式上执行联接(请参阅 this question )。即使在尝试了所有基本的优化技巧(索引等)并尝试了提供的建议之后,它的运行速度仍然慢得令人难以置信。
有没有更简单的方法来做到这一点?我并不反对非数据库解决方案。是否有任何理由认为正则表达式杀伤力过大,并且比其他解决方案花费的时间更长?

最佳答案

进行子字符串匹配的理想算法是 AhoCorsick .

虽然您必须从数据库中读取数据才能使用它,但与更简单的方法相比,它的速度非常快。

参见here有关子字符串匹配的相关问题:

here对于 Java 中的 AhoCorsick 实现:

关于sql - 测试短语以查看它们是否相互匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3078383/

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