【问题标题】:Using Zend Search Lucene, is it possible to commit changes without overwriting the entire index?使用 Zend Search Lucene,是否可以在不覆盖整个索引的情况下提交更改?
【发布时间】:2014-08-23 05:30:59
【问题描述】:

我的任务是在一个包含大约 300 个动态页面的网站上实现搜索功能。使用 Zend Search Lucene(救命稻草),我已经做到了。但现在出现了将所有内容都投入生产的问题。该网站托管在共享服务器上,最长执行时间为 30 秒,这是运行我的索引脚本所需时间的四分之一。

索引脚本分为以下一组步骤:(1)创建所有文档(2)将这些文档添加到索引中,最后(3)提交。据我了解,一旦您提交,索引将被新文档覆盖。

所以,我的问题如下:是否可以提交索引而不覆盖所有内容?例如,我想一个接一个地分别运行 4 个脚本。每个脚本都将执行相同的步骤集,但仅针对特定 组文档。这将允许每个脚本保持在 30 秒的执行时间内。最后,索引将包含所有个文档。

如果这不可能,有什么替代解决方案?

【问题讨论】:

    标签: php shared-hosting zend-search-lucene


    【解决方案1】:

    是的,您可以更新(实际上是删除和重新添加)Lucene 索引中的单个文档。每份文件都需要一个唯一的、永久的 ID。更新后,您需要打开一个新的 IndexReader 来获取更新的文档。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-16
      • 2019-08-28
      • 1970-01-01
      • 1970-01-01
      • 2014-07-07
      • 2021-07-28
      • 1970-01-01
      • 2012-01-28
      相关资源
      最近更新 更多