Поиск вложений из приложения Rails (Word, PDF, Excel и т. Д.) - PullRequest
4 голосов
/ 12 октября 2011

Мой первый пост в Stack Overflow, так что будьте нежны, пожалуйста! Я собираюсь начать новый проект Ruby on Rails (3.1) для клиента. Одним из их требований является наличие поисковой системы, которая будет индексировать примерно 2000 документов, представляющих собой смесь PDF, Word, Excel и HTML.

Я надеялся использовать либо мышление-сфинкс, либо Текстиль (самый популярный на https://www.ruby -toolbox.com / Categories / rails_search.html ), но насколько я понимаю:

  • Для оформления статьи требуется PostgreSQL. Я на MySQL.
  • think-sphinx не индексирует файлы в файловой системе.
  • , даже если я сохраню свои вложения в базе данных, интеллектуальный сфинкс все равно не будет работать, так как требует простого текста (согласно http://groups.google.com/group/thinking-sphinx/browse_thread/thread/69cdc1c8e1c096ff)

Так что у меня осталось два варианта:

  1. Выберите другой инструмент поиска
  2. Попробуйте извлечь текстовые версии вложений в базу данных для чтения-сфинкса для чтения

Какой подход вы рекомендуете?

Если это другой поисковый инструмент, какой? Мои требования довольно просты, поэтому мне бы очень хотелось, чтобы их было очень легко настроить, и в них много документации, примеров и учебных пособий!

Если он извлекается, можете ли вы порекомендовать экстракторы для распространенных типов файлов, таких как PDF, Word, Excel и HTML?

Спасибо всем. Очень ценю вашу помощь.

Ответы [ 2 ]

2 голосов
/ 13 октября 2011

Что ж, я раньше не выполнял индексацию двоичных файлов, но, очевидно, Solr поддерживает его, см. Индексация файлов с помощью SPHINX / ultrasphinx и http://wiki.apache.org/solr/ExtractingRequestHandler Для Solr доступно довольно много гемов,Sunspot, кажется, является популярным http://outoftime.github.com/sunspot/ Хотя кажется, что Sunspot не имеет встроенной поддержки Solr Cells, похоже, что в этом есть какая-то работа https://github.com/tomasc/sunspot_cell Возможно, есть лучшие варианты,но это должно дать вам хорошую отправную точку.

1 голос
/ 16 октября 2011

Просто чтобы обновить это. Я решил использовать следующий подход:

Попробуйте извлечь текстовые версии вложений в базу данных для чтения-сфинкса для чтения

В частности, я буду делать следующее:

  • Использование мышления-сфинкса
  • Использование гема subexec для вызова ...
  • ... Тика из командной строки

Похоже, это будет так же просто, как звонить java -jar tika-app-0.10.jar -t [file], но я опубликую свой опыт, если он окажется более сложным!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...