如何解决查询以搜索是否出现搜索字符串中的任何单词
fName : "Samuel",sName : "Erick Jameson"
如果搜索是通过塞缪尔(Samuel),埃里克(Erick),詹姆森(Jameson),埃里克(Erick Jameson),塞缪尔埃里克(Samuel Erick)等进行搜索,我想返回用户。
基本上,如果fName或sName中存在任何单词,我想将其返回。现在,我有以下查询:
Function.lower(Expression.property("fName")).like(Expression.string("%" + searchTermlC + "%"))))
.or((Expression.property("lName").like(Expression.string("%" + searchTermlC + "%")));
我的搜索结果是:
Samuel found
Erick found
Jameson found
Erick Jameson found
未找到以下内容:
Samuel Erick
Erick Samuel
Samuel Jameson
...
什么查询可以做到?
解决方法
上面的查询中指出了一些错误:
- 左方括号不匹配
- 您忘记了Function.lower(Expression.property(“ lName”))。
我认为当您进行自己的测试时,查询语法是正确的,否则您将不会获得任何结果。
您得到的结果与like
运算符一样。如果您希望查询包括:
Samuel Erick
Erick Samuel
Samuel Jameson
结果中,您可以尝试使用In
运算符。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。