Комментарии 15
На Хабре не спроста используется Sphinx. Под какими нагрузками тестировался скрипт?
>К тому же, если говорить о системе тегов, то необходимость в ней полностью отпадает. Но это скорее дело вкуса.
Результат выдачи по тегам, как правило кэшируется, т.е. не нужно каждый раз трогать базу данных.
Я для поиска использую Zend_Lucene, который использует индексы, вместо базы данных.
Какой размер будет иметь база данных для порталов, с огромным количеством информации? MySql тогда не потянет это все)
>К тому же, если говорить о системе тегов, то необходимость в ней полностью отпадает. Но это скорее дело вкуса.
Результат выдачи по тегам, как правило кэшируется, т.е. не нужно каждый раз трогать базу данных.
Я для поиска использую Zend_Lucene, который использует индексы, вместо базы данных.
Какой размер будет иметь база данных для порталов, с огромным количеством информации? MySql тогда не потянет это все)
+5
а какой размер имеет ваш индекс Lucene??
0
Хочу заметить что поиск на Хабре работает отвратительно.
+6
А я считаю, в CMS, ориентированной на массовое использование, должно быть решение для поиска вроде этого. Ведь очень часто на shared hosting нет возможности использовать Sphinx, а встроенный поиск от Google/Яндекс — не вариант для закрытых или плохо индексирующихся сайтов.
0
в таких случаях гораздо выгоднее пользоваться Zend_Lucene
0
Да, выгодней) Поэтому я и использую Zend_Lucene. Вначале были трудности с поиском по кириличному тексту, но разобрался и теперь все нормально.
0
Но есть одно но.
Zend_Lucene довольно медленный. Как при индексации так и при поиске.
При поиске по чуть более, чем 200000 позиций время запроса примерно 0.2-0.3 сек.
А Sphinx с этой-же задачей справляется за 0.008-0.016 сек.
+ Zend_Lucene индексировал эти позиции около 30-ти минут, а Sphinx за 2 сек все сделал.
Это мои личные наблюдения на конкретной задаче.
Zend_Lucene довольно медленный. Как при индексации так и при поиске.
При поиске по чуть более, чем 200000 позиций время запроса примерно 0.2-0.3 сек.
А Sphinx с этой-же задачей справляется за 0.008-0.016 сек.
+ Zend_Lucene индексировал эти позиции около 30-ти минут, а Sphinx за 2 сек все сделал.
Это мои личные наблюдения на конкретной задаче.
0
Sphinx вам в помощь.
а как же морфология, раз уж делать крутой поиск?
а как же морфология, раз уж делать крутой поиск?
+3
Для создания полноценного поиска еще далеко, нужно еще учесть морфологические формы слов, нужно отсортировать результаты поиска по релевантности, сделать хотя-бы минимальную коррекцию ошибок пользователя, в идеале — сделать возможным поиск с использованием AND / OR, точной фразы и т.д. проще уже действительно Sphinx использовать или API поисковиков.
+2
Вы про связь многие-ко-многим не слышали?
В таблицах связи многие ко многим Primary key отдельным полем не ставится.
Почему idname и idtext не foreign key?
Где ключ Unique(idname, idtext)
В таблицах связи многие ко многим Primary key отдельным полем не ставится.
Почему idname и idtext не foreign key?
Где ключ Unique(idname, idtext)
-2
когда передо мной встала похожая задача в проекте на постгресе, мне оказалось достаточно почитать мануал по написанному в МГУ (гордость!) и включенного в поставку модуля полнотекстового поиска. Очень удобная штука, хотя и не без минусов. С тех пор постгрес я просто обожаю (может, я просто не знаю об аналогах для MySQL?)
Если кому интересно — напишу потом туториал о том, как за день можно сделать персональный гугл для сайта :)
Если кому интересно — напишу потом туториал о том, как за день можно сделать персональный гугл для сайта :)
+4
вы открыли для себя смысл полнотекстового поиска(но только его одну малую часть)
а как же методы оптимизации?
а как же релевантность?
а исключение ошибок?
>солце (см скрин)
про какую эффективность в заголовке вы хотели сказать?
а как же методы оптимизации?
а как же релевантность?
а исключение ошибок?
>солце (см скрин)
про какую эффективность в заголовке вы хотели сказать?
+1
Было бы чудесно добавить в такую статью еще примеры кода, а с морфологическим анализом — вообще шоколадно
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Своя поисковая система на сайте