Replies (18)
- @0xd34df00d:@Goren Чувак, это я опрос провожу же.
Энивей, быстрее, мощнее, ну и я в нем шарю чуть лучше, чем в мускуле. - @kb:Если репликация нужна — my (хотя в новом pg будет вроде и мы даже попробуем её у себя на одной из баз продакшна), а в остальном — pg во все поля, вот почему: возможность писать хранимые процедуры на питоне (это капец офигенно, даже сложно переоценить эту вещь), хороший поиск (tsv и все его штучки) "из коробки", который слова обрезает, умеет много языков разных, ищет с весами и так далее. Типа для простого поиска очень подходит (конечно, где нужен большой и толстый поиск — только solr).from 40c636ec, 13 months ago
- @mva:@0xd34df00d может и осилил, но я этого не заметил :)
- @0xd34df00d:@kb О, насчет полнотекстового поиска. Как наиболее легко сконвертить обычную таблицу в готовую для полнотекстового поиска?
Олсо, вроде и в 8.x же с репликацией неплохо, не?from idead, 13 months ago, in reply to /5 - @kb:@0xd34df00d ничего делать не надо, есть готовая функция. Но по-хорошему (чтоб не грузить бд уж совсем), надо в поле (к примеру, назови его tsv) закинуть готовый вектор.
К примеру, запрос
select to_tsvector('russian', '@kb О, насчет полнотекстового поиска. Как наиболее легко сконвертить обычную таблицу в готовую для полнотекстового поиска?
Олсо, вроде и в 8.x же с репликацией неплохо, не?')
вернет тебе поле с типом tsvector, которое будет выглядеть вот так:
"'8':21 'kb':1 'x':22 'врод':18 'готов':13 'легк':8 'наибол':7 'насчет':3 'неплох':26 'обычн':10 'олс':17 'поиск':5,16 'полнотекстов':4,15 'репликац':25 'сконверт':9 'таблиц':11"
а запрос
select plainto_tsquery('russian', 'что-нибудь о полнотекстовом поиске')
вернет
"'что-нибуд' & 'полнотекстов' & 'поиск'"
Уловил идею как оно примерно работает?) Короче, дерзай всякие там developer.postgresql.org и developer.postgresql.org :-)from 40c636ec, 13 months ago, in reply to /10 - @0xd34df00d:@kb Хм, не очень понял, чо за поле tsv. Смотри, вот у меня есть rss-читалка. У нее один из вариантов хранения базы — в постгресе. Решил я чо-то прикрутить полнотекстовый поиск по статьям. Соответственно, есть таблица items, у которой есть поле content TEXT. Что я делаю дальше? )from idead, 13 months ago, in reply to /13
- @kb:@0xd34df00d читаешь маны, ссылки на которые я тебе дал, очевидно же) Так и быть, объясню по-простому: select id, "name" from product where to_tsvector('russian', name) @@ plainto_tsquery('russian', 'запрос') limit 5;from 40c636ec, 13 months ago, in reply to /14
- @kb:@0xd34df00d как под свою табличку переделать хоть догадаешься?from 40c636ec, 13 months ago, in reply to /14
- @0xd34df00d:@kb А, блин, понел.
Просто я на эти маны и раньше натыкался, но там, как я понял, надо что ли таблицу еще специальную делать.
Олсо, еще надо бы придумать, как язык определять автоматом.from idead, 13 months ago, in reply to /15