
Massimo
28.09.2017
11:17:30

Sergey
28.09.2017
11:20:46
Возможно это нормально
Думаю что на database encoding выбраный в верхней строчке 1251 в collation не повлияет

Adikhanov
28.09.2017
12:43:54
Доброго времени суток! Нужна помощь с JSON, не скупитесь ссылками на доку поскольку я самостоятельно попытался найти ответ в сети, но так и не нашел.
SELECT
row_to_json(t1),
row_to_json(t2)
INTO
_ t1,
_t2
FROM t1
LEFT JOIN t2 ON t2.id = t1.user_id
WHERE t1.company_id = 1
ORDER BY t1.id DESC
LIMIT 1;
Как из переменной _t1 выбрать значение колонки title?

Google

Artem
28.09.2017
12:44:55

Denis
28.09.2017
12:47:09

Adikhanov
28.09.2017
12:49:08

Artem
28.09.2017
12:49:35
<> смени оператор на OR

Vadim
28.09.2017
12:50:42

Yura
28.09.2017
12:51:06

Adikhanov
28.09.2017
12:52:06

Artem
28.09.2017
12:52:23

Vadim
28.09.2017
12:53:29

Adikhanov
28.09.2017
12:54:35

Yura
28.09.2017
12:54:36

Denis
28.09.2017
12:54:49

Vadim
28.09.2017
12:55:03

Google

Yura
28.09.2017
12:55:47
Ну вот и проверили :-)

Denis
28.09.2017
12:56:50

Yura
28.09.2017
12:57:22
Учитывая механизм работы триграмм и GIN, замедление при более длинном запросе ожидаемо.

Denis
28.09.2017
12:58:11
да, я понимаю. вот и интересовался альтернативными практиками/грязными хаками

Adikhanov
28.09.2017
12:58:41

Vadim
28.09.2017
12:59:03
А если попробовать использовать полнотескстовый поиск + триграммы?

Yura
28.09.2017
12:59:19

Denis
28.09.2017
12:59:50
разве это решит проблему очепяток?

Yura
28.09.2017
12:59:56
:-) у нам примерно одинаковая с Вадимом мысль.

Denis
28.09.2017
13:00:51
то есть полнотекстовый поиск - это преобразование слов в лексемы по определенным словарям. нечеткий поиск - это опечатки. а что мне даст нечеткие лексемы? или я не понимаю идею?

Vadim
28.09.2017
13:02:32
https://postgrespro.ru/docs/postgrespro/9.6/pgtrgm
есть блок F.41.5. Интеграция с текстовым поиском

Yura
28.09.2017
13:04:42

Denis
28.09.2017
13:10:38
да, здорово! но разве это мой случай? да, я погу согласно пункту 41.5 искать лексемы с очепятками и не париться за словоформы (окончания и т.д)... но у меня другая проблема, производительность. как добавление лексем ускорит результаты?

Evgeny
28.09.2017
13:11:56
Привет, есть у кого опыт успешной миграции с MySQL каким-нибудь тулом?

Vadim
28.09.2017
13:23:21

Stas
28.09.2017
13:25:11
N-граммы надо с N=5-6 =)

Vadim
28.09.2017
13:25:30
О, Стас подключился)

Denis
28.09.2017
13:26:00

Google

Denis
28.09.2017
13:26:24

Vadim
28.09.2017
13:26:55

Stas
28.09.2017
13:27:46

Denis
28.09.2017
13:28:53

Stas
28.09.2017
13:29:33
не, для постгреса я не слышал что бы кто-то это делал
я встречал standalone самодельный индексер с бОльшими N

Alexey
28.09.2017
15:26:43
Mysql умеет ngram для n от 1 до 10

Nikolay
28.09.2017
16:16:37
Подскажите - где почитать как правильно трактовать cost в explain?

Maksim
28.09.2017
16:18:49
http://www.dalibo.org/_media/understanding_explain.pdf

Stas
28.09.2017
16:35:08

Alexey
28.09.2017
16:35:51
Да. Я тестировал на простых примерах - работает

Alexander
28.09.2017
17:03:44
Прикольно.
Кстати, в постгресе достаточно было бы сделать полнотекстовый словарь для этого.
+1 задачка для стажёров

Mikhail
28.09.2017
17:08:43
Угу, словарь бы генерил нграммы
Причём его можно объявлять с параметром n если ни че не путаю

Alexander
28.09.2017
17:09:54
Да, у словарей есть параметры. Я бы сделал параметрами n, lpadding и rpadding.
У меня, кстати, лежит модуль vgram, написанный ещё в аспирантские годы.
Нигде не публиковал пока.
Основная порочность у него – он ожидает, что частоты n-gram глобальны и лежат в строго определённой табличке.

Google

Alexander
28.09.2017
17:11:51
Умеет пока только LIKE/ILIKE, но остальному можно научить.

Sviat
28.09.2017
17:56:01
Привет, по mySQL вопросы принимаются?
если нет, дайте группу где принимаются
Просто нашел только эту

Arthur
28.09.2017
18:01:51
@mysql_ru

Sviat
28.09.2017
18:02:29
пасиб

Denis
28.09.2017
20:33:30

Alexander
28.09.2017
20:34:15
OK, я выложу на github и отпишу сюда.

Denis
28.09.2017
20:34:43
Спасибо!

Viktor
29.09.2017
02:47:28
@darthunix а если заюзать отдельное решение для поиска типа эластик серча?

Denis
29.09.2017
02:48:56

Viktor
29.09.2017
02:50:08
Данных много?

Denis
29.09.2017
03:22:16
Около 400к записей (ФИО). Сейчас пробую вариант составить список уникальных лексем из ФИО, и в каждой записи с ФИО хранить ссылки на составляющие его лексемы. А по лексемам делать нечеткий поиск триграммами

Yury
29.09.2017
05:08:50
ES требует несколько нод для нормальной работы, кучу оперативки и ещё куча подводных камней с этими их индексами

Viktor
29.09.2017
05:09:52
не спорю, можно получше найти, но 400к записей имхо мало, я думал там больше
это ~1.2кк строк - можно все в оперативу засунуть и не кашлять

Denis
29.09.2017
05:11:23

Yury
29.09.2017
05:17:53
к слову в постгресе нету 2Н грамм... те что актуальны для японского языка.
т.е. из коробки поиск в постгресе не применим к японскому :(

Google

Denis
29.09.2017
05:19:09
Ну поэтому японцы и сделали себе биграммное расширение

Yury
29.09.2017
05:19:21
но все они out of tree
даже в contrib не пробили

Denis
29.09.2017
05:21:18
Много хороших расширений ставятся отдельно, это не страшно

Viktor
29.09.2017
05:23:57
@darthunix а если попытаться переложить поиск с базы на приложение? я думаю куча есть либ для нечеткого поиска

Старый
29.09.2017
05:24:38
интересно георапределённый постгресс делал кто?

Denis
29.09.2017
05:26:15

Старый
29.09.2017
05:28:40
аналог rack3 у cassandra для postgre никто ещё не придумал?

Denis
29.09.2017
05:29:20

Старый
29.09.2017
05:30:05
а приложение даже не узнало, что те 2 дц потеряны
при возобновлении связи, с хоста где более свежие записи 2 других или 1 берёт данные себе обновлённые

Denis
29.09.2017
05:32:04
я помню гугл решал такие вопросы атомными часами в каждом дц и уникальным ключом был временной тик

Старый
29.09.2017
05:32:37