MVC实现,其中搜索引擎是模型

时间:2009-07-07 08:32:46

标签: asp.net-mvc model-view-controller search-engine

也许我在误解问题并将答案与问题混为一谈,但请在这里告诉我。我想(共同地,与你)关于一个基于任何MVC框架(PHP或ASP.NET MVC,无论是什么)使用搜索引擎(lucene / solr,FAST ESP,等等)的网站)作为模型的后端。也就是说,项目中没有数据库本身。只是一个巨大的文档索引,是半结构化的内容。

我希望了解 - 并且请记住该网站主要是只读的 - 我可能会遇到麻烦。有什么东西会让你认为这是一个糟糕的主意。此外,请假设将有一个强大的基础设施与搜索引擎周围的缓存 - 所以尽管欢迎评论,我们认为它们不是主要问题。

谢谢!

1 个答案:

答案 0 :(得分:0)

一般来说,我会使用像Lucene这样的工具来搜索内容,并使用一个数据库来检索内容。这并不意味着它不起作用。这更像是一个为什么你不想使用数据库的问题。是的,它可以工作,它可能会起作用(取决于网站的功能要求,继续阅读),但仍然没有像Lucene这样的工具使正确的工具完成工作本身。

话虽如此,但它确实依赖于网站的类型。它真的是一个只有大量可搜索数据的网站,没有别的,或者它不仅仅是那个?如果答案是第一个,那么好!如果是后者,我可以想到一些问题:

  • 更新数据可能很麻烦。 “即时更新”通常是禁止的,因为Lucene必须重建其索引,这非常耗时。如果对数据的更新没有那么多。您可以每天重新创建索引几次,或者每晚重建一次,如果可行的话。
  • 尝试将任何数据填充到一个不太适合索引的索引中通常不是一个好主意。如果该站点允许用户在您的站点上注册,那么该用户数据应该真正进入数据库。将它存储在lucene索引中并非不可能,它只是不适合这项工作的工具。将索引用作一堆索引文档,但也不要将其用作数据库。