Есть ли способ реализовать такую функцию поиска с использованием запросов и регулярных выражений?
Правила поиска:
Поиск слова существования во всех полях.
Поиск идет как * 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 *.
- запрос в настоящее время использует | , это дает мне записи, которые соответствуют любому поисковому слову. Но мне нужно, чтобы они все были в записи.
- Я пытался использовать & в запросе, но не дал результатов. Есть ли способ выполнить этот поиск, используя только регулярные выражения?