【问题标题】:MVC Implementation where a Search Engine is the Model以搜索引擎为模型的 MVC 实现
【发布时间】:2009-09-24 05:00:02
【问题描述】:

也许我把问题弄错了,把答案和问题混为一谈,但请告诉我。我想(与您共同)考虑一个基于任何 MVC 框架(PHP 或 ASP.NET MVC 等)的网站,该框架将使用搜索引擎(lucene/solr、FAST ESP 等) ) 作为模型的后端。也就是说,项目本身没有数据库。只是一个巨大的半结构化内容文档索引。

我希望了解 - 请记住,该网站主要是只读的 - 我可能会遇到麻烦。是什么让你从一开始就认为这是一个坏主意。另外,请假设搜索引擎周围会有一个强大的缓存基础设施 - 所以虽然 perf cmets 受到欢迎,但我们认为它们不是主要问题。

谢谢!

【问题讨论】:

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


    【解决方案1】:

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

    话虽如此,但它也确实取决于网站的类型。它真的是一个只有一大堆可搜索数据而没有其他东西的网站,还是比这更多?如果答案是第一个,那就太好了!如果是后者,我能想到一些问题:

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

    【讨论】:

    • 感谢 Razzie - 该站点确实是关于检索数据的 - 就像从很少更改的目录中一样。然而,每个数据项的结构可能不同——不像只有少数模板——更像是任意“智能标记”XHTML 或 XML 的碎片——事实上,我也在研究类似 CouchDB 的东西。谢谢
    猜你喜欢
    • 2011-11-02
    • 2017-11-25
    • 1970-01-01
    • 2011-10-28
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多