Ден Шергин ([info]binstream) wrote,
@ 2009-07-09 13:08:00
Previous Entry  Add to memories!  Tell a Friend  Next Entry
Entry tags:веб-разработка, технологии

локальный поиск для сайта
Озадачился локальным полнотекстовым поиском во всяких интранет ресурсах, после просмотра списка движков понял, что нужна помощь знатоков =)

Критерии выбора технологии:
* open source
* поддержка Linux
* на входе - куча XML файлов (средний размер - 2-3 страницы текста), которую надо периодически переиндексировать (раз в сутки, например)
* вменяемая производительность (база 10000+ документов не должна быть проблемой)
* полнотекстовый поиск
* легкая интеграция в сайт
* минимум экзотических зависимостей, в идеале хочется обойтись LAMP

Что посоветуете?

PS: Изначально прицеливался на ht://Dig, но он пугающе давно не обновлялся (с 2004 года).



(13 comments) - (Post a new comment)


[info]aruslan
2009-07-09 06:52 am UTC (link)
Спроси Шоданчега.
Как я понимаю, сфинкс в чистом виде тебе не подойдет, но спросить никогда не помешает.
http://sphinxsearch.com/

(Reply to this) (Thread)


[info]binstream
2009-07-09 07:01 am UTC (link)
Сфинкс уже смотрел, спасибо - там с индексированием XML никак, насколько я понимаю.

(Reply to this) (Parent)(Thread)


[info]digimind
2009-07-09 07:33 am UTC (link)
Это никак не подойдет?
http://sphinxsearch.com/docs/current.html#xmlpipe
http://sphinxsearch.com/docs/current.html#xmlpipe2

Плюс всегда можно доработать под ваши нужды.

(Reply to this) (Parent)(Thread)


[info]binstream
2009-07-09 08:28 am UTC (link)
О, спасибо, погляжу.

(Reply to this) (Parent)


[info]glebedev
2009-07-09 11:05 am UTC (link)
я вот помнил что кто-то из людей вроде Шоданчега рассказывал как они делали поиск по базе текстов. Это он и есть - сфинкс?

Решения от MS не устраивают?

(Reply to this) (Parent)(Thread)


[info]binstream
2009-07-09 11:17 am UTC (link)
Shodan автор Sphinx, да. От MS никак не устраивают решения, у меня все сервера на линуксе.

(Reply to this) (Parent)

Omega?
[info]deepwalker.blogspot.com
2009-07-09 07:06 am UTC (link)
http://xapian.org/docs/omega/overview.html

Не смотрел толком, но Xapian считается отличным движком. Быть может и омега не сильно подкачает.

Еще тут можно посмотреть.
http://wiki.apache.org/lucene-java/PoweredBy

Просьба отписаться отдельным постом о сделанном выборе : )

(Reply to this) (Thread)

Re: Omega?
[info]binstream
2009-07-25 07:22 am UTC (link)
Выбрал sphinx, пока устраивает.

(Reply to this) (Parent)


[info]kolbusa
2009-07-09 10:07 am UTC (link)
Совсем не в теме, но недавно пролетало, вот это -- http://zooie.wordpress.com/2009/07/06/a-comparison-of-open-source-search-engines-and-indexing-twitter/ -- может и пригодится

(Reply to this) (Thread)


[info]binstream
2009-07-09 04:25 pm UTC (link)
Отличный линк по делу, спасибо.

(Reply to this) (Parent)


(Anonymous)
2009-07-09 01:11 pm UTC (link)
Lucene + Nutch

(Reply to this)


[info]61man
2009-07-10 10:41 am UTC (link)
Только LAMP-ом, можно обойтись, но как-то это уродливо. PHP разрабатывался совсем для других вещей. Можно построить поиск на MySql или на PostgreSQL, но он будет сильно ограничен функционально.

Я видел один раз поиск, который работает на PHP и хранит индекс в MySql, но это реально работает для небольших сайтов. Вот он http://in.jetstyle.ru/rocket/rocketsearch.

Если нужна морфология, то это Я.Сервер, особенно если русская. При желании можно сделать для него сервер, который будет возвращать по http содержимое вашего xml.

У Lucene самое большое сообщество, как следствие есть порты на разные языки, даже на php Zend_Search_Lucene. Он индексирует в файл. Чем хорош Lucene, Вы можете взять индексатор на C или на Java, а поиск использовать на PHP - формат индекса стандартизован и совместим.

(Reply to this) (Thread)


[info]binstream
2009-07-10 01:03 pm UTC (link)
Не, естественно backend не на PHP/Python/Perl предполагается, я видимо просто неточно сформулировал. Хочется интегрировать эту черную коробку в LAMP приложения без допиливания кусков С++/Java, т.е. нужны хорошие биндинги в скриптовые языки.

Вообще пока склоняюсь к Sphinx, на выходных попробую, если руки дойдут.

(Reply to this) (Parent)


(13 comments) - (Post a new comment)

Create an Account
Forgot your login or password?
Login w/ OpenID
English • Español • Deutsch • Русский…