在 impala 中搜索包含给定单词的句子

Posted

技术标签:

【中文标题】在 impala 中搜索包含给定单词的句子【英文标题】:Search a sentence including given words in impala 【发布时间】:2021-07-05 11:15:15 【问题描述】:

我想在一个列中搜索这三个词:Hi,teo,code 以便收回内容'Teo, Hi your pass is 123code'

我尝试了下面的查询,但它没有返回上面的句子。还尝试将| 放在rlike 中,但如果我放置OR,它将显示至少包含这三个单词之一的句子。也试过regexp_like

select *
from db.table
where content rlike 'Hi teo code'

【问题讨论】:

【参考方案1】:

如果单词按特定顺序排列,请说“Teo”; “你好”; “代码”,您可以使用以下内容: select * from db.table where content like "%Teo%Hi%Code%"; 将查找该表单的任何字符串。

否则,虽然可能效率较低,但以下方法将起作用: select * from db.table where content like "%Teo%" and content like "%Hi%" and content like "%Code%";

在 sqlite3 和 sql - web 版本上对此进行了测试。

编辑:我刚刚看到它被标记为 impala。虽然我的解决方案也可以在那里工作,但它区分大小写。 不区分大小写的字符串查找器是 ILIKE 而不是 LIKE

【讨论】:

以上是关于在 impala 中搜索包含给定单词的句子的主要内容,如果未能解决你的问题,请参考以下文章