Полный текстовый поиск на выборе Heroku, базы данных и / или индексера?
-
25-10-2019 - |
Вопрос
Я хочу реализовать (бесплатно, как в пиве) Полный текстовый поиск в небольшом приложении на Heroku (минимальное количество пользователей, ограниченный набор данных). Тем не менее, я изо всех сил пытаюсь найти лучший шаблон для этого, один из вариантов - использовать предел 10 МБ Xeround, пока он длится (мы можем превзойти это в ближайшем будущем), второе - каким -то образом свернуть свой собственный полный текстовый поиск на mongodb или couchdb.
Документы в этом приложении являются архивированными электронными письмами, которые я хочу сделать доступным для поиска из списка рассылки, есть приблизительно 10 тысяч таких электронных писем, простой текст, примерно 700 баллов за.
Я бы предпочел нечеткие возможности поиска, таким образом, стремление к свирепе.
Среди моих требований (я должен был упомянуть ранее, чтобы быть свободно!)
Я не нашел никаких шаблонов для использования Wheosh с MongoDB в Python, Flask Application.
Может ли кто -нибудь предоставить больше информации о том, как обрабатывать полный текстовый поиск в небольшом приложении Heroku, Python?
Решение
Так что я не пробовал, но http://tenderlove.github.com/texticle/ Похоже, подразумевает, что вы можете использовать насыщенный поиск PGSQL Fulltext, если вы можете вписаться в пределы пространства. Проблема с Whyosh в том, что вы столкнетесь с проблемами с дисковым пространством и его настойчивостью в рамках правил Героку.
Другая вещь, которую нужно сделать, это работать с добавлением, как предложено через Dev Docs:http://devcenter.heroku.com/articles/full-text-search
Что касается шаблонов, вы в основном должны выполнять полное поиск и получить обратные данные/идентификаторы записей, а затем запросить хранилище данных (Mongo) для полного набора данных на основе полного текста. Это ручный процесс, но ничего страшного. Если поиск не нуждается в полных записях, вы обычно можете сойти с рук, сдерживая важные данные с помощью полной информации, но это увеличит размер вашей полнотекстовой индексации.
Другие советы
писолр решает вашу проблему.
Вы думали об использовании Apache Solr? Я думаю, что это лучшее решение для поисковой системы бесплатного текста, она бесплатно и открыт.
Чтобы использовать Solr из Python, я рекомендую вам Майсолр библиотека. Довольно быстрее и проще в использовании, чем pysolr (вы можете увидеть некоторую статистику здесь)