在 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 中搜索包含给定单词的句子的主要内容,如果未能解决你的问题,请参考以下文章
2021-10-16:单词拆分 II。给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,在字符串中增加空格来构建一个句子,使得句子中所有的单词都在词典中。返回所有这些可能的句子。