谷歌的Cloud Spanner中的全文搜索

3

Cloud Spanner支持CONTAINS方法吗?还是有更好的方法来对字符串进行全文搜索?

在文件中我找到了REGEXP_CONTAINS,这是一种替代方案吗?

1个回答

0

与其使用CONTAINS,你要找的运算符LIKE

REGEXP_CONTAINS也绝对是在Cloud Spanner中实现文本搜索的一种方法。它允许你指定正则表达式(由re2库支持)。

如果你只想进行前缀或后缀文本匹配,你还可以考虑使用STARTS_WITHENDS_WITH,或者使用STRPOS进行简单的文本匹配。


1
谢谢您的回答。我知道LIKE运算符,但它只匹配整个字符串。例如:字符串:“Hello World from Aron”,使用LIKE运算符可以搜索“Hello World”,但无法搜索包含“Hello Aron”的内容,这时候CONTAINS方法就派上用场了。我会检查其他运算符。再次感谢您。 - Aron
没问题!你是正确的,要匹配“Hello Aron”,你需要使用REGEXP_CONTAINS并将要检查的值转换为适当的正则表达式——也就是说,它目前没有你通常期望的全文搜索功能,但未来可能会有。 - Dan McGrath
谢谢!祝你周末愉快! - Aron
1
有没有办法使 LIKE '%some string%' 查询高效?使用索引似乎找不到解决方案... - Pascal Delange
最好作为一个新问题向@PascalDelange提问,而不是作为评论。 - Dan McGrath
好的,我会做的!谢谢。 - Pascal Delange

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接