Индексирование и поиск файлов Python

У меня есть большой набор файлов (hdf), которые нужно включить для поиска. Для Java я бы использовал Lucene для этого, так как это движок индексации файлов и документов. Я не знаю, что будет эквивалентом python.

Может кто-нибудь порекомендовать какую библиотеку я должен использовать для индексирования большой коллекции файлов для быстрого поиска? Или это предпочтительный способ опрокинуться?

Я просмотрел pylucene и lupy, но оба проекта кажутся довольно неактивными и неподдерживаемыми, поэтому я не уверен, что следует полагаться на них.

Заключительные примечания: Woosh и pylucene кажутся многообещающими, но woosh все еще альфа, поэтому я не уверен, что хочу полагаться на него, и у меня возникают проблемы с составлением пилюкена, и у него нет реальных релизов. После того, как я посмотрел немного больше на данные, это в основном номера и текстовые строки по умолчанию, так что теперь отключить механизм индексирования мне не поможет. Надеемся, что эти библиотеки стабилизируются, а позже посетители найдут для них некоторое преимущество.

Ответ 1

Lupy вышел на пенсию, и разработчики вместо этого рекомендуют PyLucene. Что касается PyLucene, его активность в списке рассылки может быть низкой, но она определенно поддерживается. Фактически, он совсем недавно стал официальным подпроектом apache.

Вы также можете посмотреть нового соперника: Whoosh. Он похож на lucene, но реализован в чистом питоне.

Ответ 2

Я раньше не делал индексацию, но может быть полезно следующее: -

Что касается использования файлов HDF, я слышал о модуле h5py.

Надеюсь, это поможет.

Ответ 3

Я предлагаю Sphinx. Он очень активен, имеет гораздо больше функций и выглядит быстрее, чем Lucene.

Ответ 4

Популярная библиотека поиска информации на С++, которая часто используется с Python, это Xapian http://xapian.org/

Это невероятно быстро и может радостно управлять большими объемами данных, однако это не так легко расширяемо, как Lucene.