по какойто причине поиск не работает, хотя неделю назад тоже не работал, ну и ладно
вычитал в документации про fulltext поиск, он оказался для меня эффективней чем LIKE '%word%', это хорошо
но теперь возникла проблема с быстродействием
для начала, если я правильно понял то при fulltext поиске используються целые слова в поле, меня это не устраивает, так как надо искать по части слова.
поэтому, до добавления в базу разбираю слова по символам, на пример: "test" => "te tes test es est st" и уже это добавляю в поле, правильно делаю?(my.cnf => ft_min_word_len=2)
Здравствуйте, KSV13, Вы писали:
KSV> вычитал в документации про fulltext поиск, он оказался для меня эффективней чем LIKE '%word%', это хорошо KSV> но теперь возникла проблема с быстродействием
Здравствуйте, Anton Batenev, Вы писали:
AB>Здравствуйте, KSV13, Вы писали:
KSV>> вычитал в документации про fulltext поиск, он оказался для меня эффективней чем LIKE '%word%', это хорошо KSV>> но теперь возникла проблема с быстродействием
AB>Sphinx
эммм, а можно кратко и на русском, что это?
чем поможет, я только понял что по бинарникам совместима с MySQL fulltext индексом
а на счёт быстродействия и совместимость с MySQL(обратной), у меня запрос по нескольким таблицам, join пользую
Здравствуйте, KSV13, Вы писали:
KSV> AB>Sphinx KSV> эммм, а можно кратко и на русском, что это?
Штука, которая решает задачу полнотекстного поиска и решает эту задачу очень быстро, умеет сама забирать данные из БД (в т.ч. из MySQL), имеет API для PHP, Python, Perl, Ruby, Java.
Посмотри презентации на русском — станет более понятно.
KSV> чем поможет, я только понял что по бинарникам совместима с MySQL fulltext индексом
Это даст тебе тот самый быстрый полнотекстный поиск. А MySQL с этими задачами справляется крайне плохо.
KSV> а на счёт быстродействия и совместимость с MySQL(обратной), у меня запрос по нескольким таблицам, join пользую
Это все возможно, хотя, может быть, в несколько непривычной форме (фильтр по аттрибутам).
Anton Batenev wrote:
> Штука, которая решает задачу полнотекстного поиска и решает эту задачу > *очень* быстро, умеет сама забирать данные из БД (в т.ч. из MySQL), > имеет API для PHP, Python, Perl, Ruby, Java.
Но при этом полной функциональной заменой полнотекстовому поиску MYSQL
она не является. Sphinx работает ВНЕ базы данных и вне контектов
транзакций. Данные для индексирования вытаскиваются из БД и индексы
строятся снаружи, после вытаскивания работа с данными происходит
off-line, вне БД. Все изменения данных соответственно на неё
уже не влияют.
Здравствуйте, MasterZiv, Вы писали:
MZ> Но при этом полной функциональной заменой полнотекстовому поиску MYSQL MZ> она не является. Sphinx работает ВНЕ базы данных и вне контектов MZ> транзакций.
Да, но для задач поиска по тексту оно обычно и не нужно.
MZ> Все изменения данных соответственно на неё MZ> уже не влияют.
А это уж с какой периодичностью строить горячий индекс.
З.Ы. Собственно, я не настаиваю — есть тысяча и один способ избавить оборудование сервера от простоя
Anton Batenev wrote:
> MZ> Но при этом полной функциональной заменой полнотекстовому поиску MYSQL > MZ> она не является. Sphinx работает ВНЕ базы данных и вне контектов > MZ> транзакций. > > Да, но для задач поиска по тексту оно обычно и не нужно. >
Кому как.
> MZ> Все изменения данных соответственно на неё > MZ> уже не влияют. > > А это уж с какой периодичностью строить горячий индекс.
Здравствуйте, KSV13, Вы писали:
KSV>по какойто причине поиск не работает, хотя неделю назад тоже не работал, ну и ладно
KSV>вычитал в документации про fulltext поиск, он оказался для меня эффективней чем LIKE '%word%', это хорошо KSV>но теперь возникла проблема с быстродействием KSV>для начала, если я правильно понял то при fulltext поиске используються целые слова в поле, меня это не устраивает, так как надо искать по части слова. KSV>поэтому, до добавления в базу разбираю слова по символам, на пример: "test" => "te tes test es est st" и уже это добавляю в поле, правильно делаю?(my.cnf => ft_min_word_len=2)