gpt4 book ai didi

mysql - 将 Sphinx 与 MySql Regex 结合起来?

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

我有一个 mysql 查询,我在其中执行类似的操作:

Select FieldX from TableY where FieldX regexp '[0-9] VariableString'

问题是 VariableString 中的值可以包含许多具有同义词的不同单词。我已经将这些映射到我的 Sphinx 索引中,但我不能使用 substring_index 或类似的内容来提取。那么在哪里

Select FieldX from idx_TableY where Match('Bob')

将找到 Bob WilliamsRobert Williams,但不会从中提取“Williams”。

Mysql“Williams”为

Select Substring_index(FieldX,'Bob ',-1) where FieldX regexp '[[:<:]]Bob[[:>:]]'

但不适用于罗伯特·威廉姆斯

有没有办法结合两者的功能,或者以某种方式让正则表达式查询索引全文而不仅仅是字段本身?

最佳答案

您所说的“提取”实际上应该在应用程序本身中完成。 Sphinx 将返回完整匹配的文本字段。

然后应用程序本身可以提取它想要的部分(类似于使用 Substring_index 的示例)

<?php
$r = mysql_query("Select FieldX from idx_TableY where Match('Bob')");
while($row=mysql_fetch_assoc($r)) {
$v = preg_replace('/\d+\s+/','',$row['FieldX']);
print "$v\n";
}

或类似的。可以根据需要定制 preg_replace 匹配。

关于mysql - 将 Sphinx 与 MySql Regex 结合起来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38414100/

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