gpt4 book ai didi

php - 突出显示搜索结果 : RegEx Character Collation?

转载 作者:行者123 更新时间:2023-11-29 01:39:04 25 4
gpt4 key购买 nike

当我运行全文 MySQL 查询时,多亏了 Unicode 字符排序规则,我将获得匹配以下所有内容的结果,无论我可能查询的是哪一个:saka、sakā、śāka、ṣaka 等。

我遇到的问题是在搜索结果中突出显示匹配项。使用标准 RegEx,我只能匹配并突出显示结果中的原始查询词 -- 而不是所有整理后的匹配项。

如何解决这个问题?我最初想到了这些方法:

  • 创建一个 RegEx 模式,该模式将根据所有可能的变体分析目标结果。很容易变成一个臃肿的怪物。
  • 创建结果的规范化版本,在其中找到匹配项,并使用字符串位置作为突出显示的基础。

然而,与常规搜索结果突出显示相比,这两种方法都会产生大量处理开销。第一种方法会产生巨大的 CPU 开销;第二个可能会占用更少的 CPU,但至少会占用两倍的 RAM 以获得结果。有什么建议吗?

附言如果它是相关的:我正在处理的特定字符集(带有扩展名的梵语音译的 IAST)具有 L 和 N 的三种变体; M、R 和 S 的两个变体;以及 A、D、E、H、I、T 和 U 的一种变体;总共 A-Z + 19 个变音符号变体; + 大写字母(在这里没有问题)。

最佳答案

使用 MySQL 及其 REGEXP,您只能定位与 REGEXP 匹配的行。您无法在列中找到匹配项。

REGEXP 和 LIKE 都遵循相关列的排序规则,但这无助于在列中定位文本。

查看 MariaDB 及其 REGEXP_REPLACE。

MySQL 至少有一个与之相关的错误: http://bugs.mysql.com/bug.php?id=70767

关于php - 突出显示搜索结果 : RegEx Character Collation?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30862748/

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