在 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 中搜索包含给定单词的句子的主要内容,如果未能解决你的问题,请参考以下文章

确定给定句子是不是包含给定单词c ++ [关闭]

在DAX中搜索关键字

如何在句子中间搜索单词或短语? [复制]

2021-10-16:单词拆分 II。给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,在字符串中增加空格来构建一个句子,使得句子中所有的单词都在词典中。返回所有这些可能的句子。

在字符串中提取围绕给定搜索字符串的 X 个单词

从 pdf azure 认知搜索中提取段落或句子