172 похожих чатов

Нашел статью про поиск по шаблону в постгресе https://www.postgresql.org/docs/8.0/functions-matching.html там

в некторых случаях используются регулярные выражения. Как составлять регулярные выражения в постгресе?

15 ответов

17 просмотров

У тебя же автоматом будет минус индекс... Тебе это точно надо? Это можно применять только как дополнительные фильтры на уже отфильтрованных данных, типа до 5тыщ записей макс.

Как составлять — как в Perl, или Python. это одна и та же "реализация".

Michael-Anishchanka Автор вопроса
Ilya Zviagin
У тебя же автоматом будет минус индекс... Тебе это...

мне нужно сделать поиск по словам, игнорируя тире и регистр

Ilya Zviagin
У тебя же автоматом будет минус индекс... Тебе это...

Не обязательно. Но индексация для regexp работает "как повезёт", это да.

Ilya Zviagin
Как составлять — как в Perl, или Python. это одна ...

А это просто неправильно. Реализация в PostgreSQL совершенно другая.

Yaroslav Schekin
Не обязательно. Но индексация для regexp работает ...

Эм.... ты можешь привести пример, когда повезёт?

Yaroslav Schekin
А это просто неправильно. Реализация в PostgreSQL ...

Я поэтому поместил "реализация" в кавычки. Не нашёл нужного слова. СПЕЦИФИКАЦИЯ. надо было так

Michael Anishchanka
мне нужно сделать поиск по словам, игнорируя тире ...

Прочитайте документацию по regexp (актуальной версии), да и делайте, в чём проблема? Индексировать это — другое дело.

Ilya Zviagin
Я поэтому поместил "реализация" в кавычки. Не наш...

И тоже нет. ;) В PostgreSQL отличается синтаксис, и другие возможности и ограничения ("базовая" часть должна примерно совпадать, конечно).

Ilya Zviagin
Эм.... ты можешь привести пример, когда повезёт?

Ну вот, например: EXPLAIN (ANALYZE, BUFFERS) SELECT * FROM search_fulltext_products WHERE product_text ~ 'CB7.*mcv' Без индекса: Seq Scan on search_fulltext_products (cost=0.00..123934.00 rows=100 width=180) (actual time=989.682..989.682 rows=0 loops=1) Filter: (product_text ~ 'CB7.*mcv'::text) Rows Removed by Filter: 1010000 Buffers: shared hit=2070 read=18339 I/O Timings: read=24.640 Planning Time: 4.880 ms Execution Time: 989.694 ms С индексом: Bitmap Heap Scan on search_fulltext_products (cost=11.78..131.33 rows=100 width=180) (actual time=0.229..0.230 rows=0 loops=1) Recheck Cond: (product_text ~ 'CB7.*mcv'::text) Rows Removed by Index Recheck: 7 Heap Blocks: exact=7 Buffers: shared hit=16 -> Bitmap Index Scan on products_trgm_idx (cost=0.00..11.75 rows=100 width=0) (actual time=0.203..0.203 rows=7 loops=1) Index Cond: (product_text ~ 'CB7.*mcv'::text) Buffers: shared hit=9 Planning Time: 1.947 ms Execution Time: 0.244 ms

Ilya Zviagin
и что, там не Perl extended?

Нет, там свой движок.

Yaroslav Schekin
И тоже нет. ;) В PostgreSQL отличается синтаксис, ...

POSIX же... https://www.postgresql.org/docs/13/functions-matching.html#FUNCTIONS-POSIX-REGEXP

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта