PostgreSQL是否搜索字符串中的整个单词而与正则表达式的顺序无关?

时间:2018-06-25 10:45:04

标签: regex postgresql search

反正有使用查询和正则表达式来实现这种搜索功能吗?

搜索规则:

  1. 在所有字段中搜索单词存在。

  2. 无论搜索键的顺序如何,搜索都类似于* A *和* B *和* C *。不管是开始还是结束,还是在全文之间。

单词池:
   角度
   靴子
   表带
   xxAngular xxBoot
   xxBootxx xxAngularxx
   角靴带

搜索词:
引导角

预期结果:
   xxAngular xxBoot
   xxBootxx xxAngularxx
   角靴带

当前查询如下:

SELECT DISTINCT field1, field2, field3 FROM myTable
WHERE LOWER( field1 || ' ' || field 2 || ' ' || field3 )
LIKE LOWER ('%(Angular)% | %(Boot)%')

查询结果:
   角度
   靴子
   xxAngular xxBoot
   xxBootxx xxAngularxx
   角靴带

-要在所有字段中搜索单词,将其合并为一个字符串,在其中搜索单词,但是我在如何为* A *&* B *&* C生成正则表达式方面遇到了困难*。

-查询当前使用| ,这为我提供了与任何搜索词匹配的记录。但是我需要将它们全部存在于记录中。

-我尝试在查询中使用&,但未显示任何结果。无论如何,仅使用正则表达式可以执行此搜索?

0 个答案:

没有答案