2009-07-07 3 views
0

Возможно, я заблуждаю проблемы и объединяю ответ с вопросами, но, пожалуйста, вот меня. Я хотел бы (совместно с вами) подумать о сайте, основанном на любой из фреймворков MVC (что-то PHP или ASP.NET MVC, whtever), которое будет использовать поисковую систему (lucene/solr, FAST ESP, что угодно) в качестве задней части Модели. То есть в проекте нет базы данных. Просто гигантский индекс документов, которые являются полуструктурированным контентом.Внедрение MVC, где поисковая система является моделью

Я ищу, чтобы понять - и имейте в виду, что сайт в основном доступен только для чтения - где я, вероятно, столкнулся с проблемой. Каковы вещи, которые заставляют вас думать, что это плохая идея с самого начала. Кроме того, предположите, что будет создана надежная инфраструктура с кешированием, окружающим поисковую систему, поэтому, хотя перцептивные комментарии приветствуются, мы считаем, что они не являются основной проблемой.

Спасибо!

ответ

0

В общем, я бы использовал инструмент Lucene для поиска контента и базу данных для его извлечения. Это не значит, что это не сработает. Это скорее вопрос, почему вы не хотите использовать базу данных. Да, он может работать, и он, вероятно, будет работать (в зависимости от функциональных требований сайта, читайте дальше), но это все еще не делает такой инструмент, как Lucene , правый инструмент для работы как таковой.

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

  • Обновления данных могут быть неприятными. «Мгновенные обновления» обычно не проходят, так как Lucene придется перестроить свой индекс, что отнимает много времени. Если данных не так много, это хорошо. Вы можете просто воссоздать индекс пару раз в день или в ночное время, если это работает.
  • Попытка представить любые данные в индексе, который не подходит для индексирования, обычно не является хорошей идеей. Если сайт позволяет пользователям регистрироваться на вашем сайте, то данные пользователя должны действительно поступать в базу данных. Невозможно сохранить его в индексе lucene, это просто не правильный инструмент для работы. Используйте индекс как кучу индексированных документов, но не используйте его как базу данных.
+0

Thanks Razzie - сайт действительно относится к извлечению данных - например, из каталога, который редко изменяется. Однако структура каждого элемента данных может быть разной - не так, как есть только несколько шаблонов - больше похоже на череды произвольных «разумно обозначенных» XHTML или XML - на самом деле я тоже смотрел на что-то вроде CouchDB. благодаря –