Рекомендации по простому поисковику по мешку слов?

Какие-нибудь рекомендации для небольшой, легкой поисковой системы с набором слов?

У меня есть набор «документов», каждый из которых представляет собой небольшой пакет произвольных слов. Учитывая новый документ, мне нужно получить список «похожих» документов вместе с некоторым весом для того, насколько они могут быть похожи. Документы, скорее всего, будут небольшими... максимум пара абзацев.

  • Стемминг был бы отличным, но не очень обязательным.
  • Расширение слов с помощью сетей слов не требуется.
  • предпочтителен открытый исходный код или бесплатное программное обеспечение, так как это прототип, а не полноценный проект.
  • предпочтительна платформа unix/linux.

Я бы использовал его в качестве подкомпонента и ожидал только подачи документов с идентификатором, а позже выполнял бы поиск «похожих» документов на тот, который у меня есть в настоящее время.


person ericslaw    schedule 21.09.2009    source источник


Ответы (4)


Whoosh – это индексатор/поисковик на чистом Python (без C и без внешней базы данных). Дополнительную информацию см. в документации. Он поддерживает стемминг.

Я попробовал это на XML-дампе экземпляра mediawiki, и, похоже, это сработало очень хорошо!

person Steven Kryskalla    schedule 21.09.2009

Solr или Сфинкс. Они не совсем легкие, но я бы не рекомендовал что-то меньшее, если проект окажется успешным и ему нужно расти, переход на поисковую систему может быть болезненным.

person Mauricio Scheffer    schedule 21.09.2009

Я думаю, что Lucene является вариантом. Это должно позволить вам создать собственную поисковую систему с набором слов.

person Pascal Thivent    schedule 21.09.2009

Меня интересует MongoDB http://www.mongodb.org/display/DOCS/Home

Похоже, что «полнотекстовый поиск» может быть тем, что мне нужно... и наличие дополнительных полей для поиска может быть удобным.

person ericslaw    schedule 22.09.2009