[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Поиск по большой таблице
Kusss
Есть таблица в PG, которая имеет более 120 миллионов записей. Нужен поиск по полю с адресом.
Пример
Цитата
167026, РЕСПУБЛИКА КОМИ, ГОРОД СЫКТЫВКАР, ПРОСПЕКТ БУМАЖНИКОВ

Полнотекстовый поиск для этого подойдет или использовать что-то другое ?

Подскажите, как лучше это осуществить ?
FatCat
Я не использую полнотекстовый поиск на больших таблицах: жуткие тормоза при добавлении новых записей.

_____________
Бесплатному сыру в дырки не заглядывают...
Kusss
а что тогда использовать ?
Zzepish
Kusss
Можно через apache solr, или elasticsearch
sergeiss
Я не использовал полнотектсовый поиск в PG, но мне так кажется, что он должен работать нормально, т.е. быстро. Потому что там есть куча всего, включая индексы. Это ж не просто LIKE, а специальный механизм! Всякие эластиксёчи тоже ж работать будут с точно такими же данными smile.gif Да еще понадобится делать копию данных, хранящихся в основной таблице. Те же 120 миллионов записей плюс индексы для работы эластика. Или кто-то думает, что эластик всё из воздуха берет??? Также получаем задачу обновления БД у эластика при изменении основных данных.
Так что если уж и геморроиться, то я бы с Посгрёй стал заниматься.

ПыСы. Опять же, на изучение нового ПО и понимание его особенностей надо время и силы.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
vagrand
Я использую sphinx на своем проекте. Данных у меня тоже много, хотя не 120 лямов конечно. Индексы обновляю раз в час по крону. Ищет быстро.

P.S. Чтобы не нагружать основную БД при обновлении индексов Sphinx-а можно натравить его на реплику базы.

_____________
Senior PHP developer: PHP5, MySQL, JavaScript, CakePHP, Yii/Yii2, Zend Framework, Smarty, XML/Xslt, JQuery, Jquery Mobile, Bootstrap, ExtJS, HTML, HTML5, CSS, Linux, SVN, Git, Memcached, Redis, MongoDB, Zend Guard, Ioncube, FFMpeg, PayPal, Webmoney, Qiwi, Facebook API, Vkontakte Api, Google API, Twitter Api, Steam Api.
Junior Android Developer: Android SDK, многопоточность, работа с HTTP запросами, JSON, SQLite, фрагменты.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.