3

我正在使用 Zend_Search_Lucene 对我的应用程序中几个不同表中的记录进行全文搜索。我刚刚实现了这个功能,目前索引是在应用程序部署后首次使用搜索功能时构建的。这显然不是我在生产中想要的。

我正在寻找一种简单的方法来执行索引作为应用程序部署逻辑的一部分,然后每半小时左右执行一次添加/更新记录的增量索引。

我应该看什么来实现这个?

感谢您提供的任何和所有帮助。

4

1 回答 1

1

不需要将索引作为部署的一部分。在这里,我提出一个解决方案。

在您的应用程序中创建一个默认目录,例如 searchdata。在此内部为不同类型的数据创建单独的路径(例如,对于城市,文件夹为 city_index)。在(您的应用程序的)配置文件中指定这些路径。编写 php 脚本,以便读取表数据并建立索引。这些脚本使用配置路径来创建索引。编写一个运行所有这些脚本的主脚本。

在您的服务器上运行这些脚本一次。继续搜索(使用配置路径进行搜索)。(第一次搜索没有索引)

如果添加了一个新城市,那么在您添加该城市(模型函数)的代码中,数据库更新也会更新索引。还要优化索引文件,这将减少搜索时间。这个操作不是很频繁,所以即时更新不是问题。

于 2010-08-11T10:17:52.210 回答