【问题标题】:Zend Search Lucene: Where do I put the code?Zend Search Lucene:我把代码放在哪里?
【发布时间】:2011-10-11 16:49:35
【问题描述】:

我有一个要添加站点搜索功能的 CMS。该应用程序使用完整的 Zend Framework MVC 堆栈。

在这一点上,我似乎应该创建/使用搜索模型。到目前为止,我创建的所有模型都基于数据库表。搜索模型会是什么样子?我是否采取了错误的方法?

【问题讨论】:

    标签: zend-framework zend-search-lucene zend-framework-mvc


    【解决方案1】:

    基本上通过使用 Zend_Search_Lucne,您将在您的网络服务器上创建一个数据库索引。因此将负载从数据库服务器转移到网络服务器(这是一件好事,因为您可以轻松拥有许多网络服务器但数据库服务器不多)。

    建立索引。您将表中您希望可搜索的每一行视为 lucene 中的单个 Zend_Search_Lucene_Document 。列变成 Zend_Search_Lucene_Field 。您将这些文档添加到您的索引中,该索引位于 harddisk 上。在搜索您查询此索引时。

    了解更多http://framework.zend.com/manual/en/zend.search.lucene.index-creation.html

    【讨论】:

    • 我理解其中的一部分。我想弄清楚的是我把代码放在哪里。
    • 代码将分为两部分,一是 shd 进入管理模块的控制器以构建索引(您可能希望将其作为 cron 作业运行),第二部分将用于查询索引应该是在前端的任何控制器中。
    • 我打算在编辑内容时更新索引,这不是一个好主意吗?
    • "Lucene 索引文件格式不支持文档更新。应删除文档并重新添加到索引中以有效更新它们。"它的结果质量与性能。我宁愿选择性能。
    • 不,我认为在编辑索引时更新索引不是一个好主意。与 sphinxsearch 不同,lucene 没有增量索引,这意味着重建索引可能需要一些时间。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-02
    • 2014-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-04
    相关资源
    最近更新 更多