我的任务是在包含大约300个动态页面的网站上实现搜索功能。使用 Zend Search Lucene (救生员),我已经完成了。但现在出现了将所有东西都投入生产的问题。该网站托管在共享服务器上,最长执行时间为30秒,这是运行索引脚本所需时间的四分之一。
索引脚本分为以下几组步骤:(1)创建 all 文档(2)将这些文档添加到索引中,最后(3)提交。根据我的理解,一旦你提交,索引将被新文件覆盖。
所以,我的问题如下:是否可以提交索引而不覆盖一切?例如,我想一个接一个地分别运行4个脚本。每个脚本都将执行相同的一组步骤,但仅适用于特定的文档集。这将允许每个脚本保持在30秒执行时间内。最后,索引将所有文档。
如果无法做到这一点,会有什么替代解决方案?
答案 0 :(得分:0)
是的,您可以在Lucene索引中更新(实际删除和重新添加)单个文档。每个文档都需要一个唯一的永久ID。更新后,您需要打开一个新的IndexReader来获取更新的文档。