【问题标题】:Search index not updated on new html content新的 html 内容未更新搜索索引
【发布时间】:2020-03-24 00:06:44
【问题描述】:

我有一个带有 toc 和一些 html 文件作为集成帮助的 Eclipse 插件。 当我更改某些 HTML 文件时,搜索操作的索引没有重建。

我什至尝试按照此处所述预构建索引: https://help.eclipse.org/2019-09/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Fguide%2Fua_help_setup_preindex.htm

这是我的 Ant 目标:

<target name="build.index" description="Builds search index for the plug-in: com.marchesini.mas.rcp.help." if="eclipse.running"> 
<help.buildHelpIndex manifest="plugin.xml" destination="."/> 
<help.buildHelpIndex manifest="plugin.xml" destination="nl/en_US"/> 
</target>

构建似乎成功了,语言环境是 en_US,来自 config.ini。 但是当我在运行时搜索索引时它没有更新。

我发现触发索引重建的唯一方法是更改​​插件的版本号,如https://stackoverflow.com/a/12033859/11643143。 这真的是唯一的方法吗??

如何在插件部署时自动重建?

谢谢!

【问题讨论】:

    标签: eclipse eclipse-plugin eclipse-rcp


    【解决方案1】:

    当然,相同的版本号意味着没有任何变化,包括帮助内容。

    作为一个黑客,您可以在配置区域中删除子目录org.eclipse.help.base/index/中的索引。

    对于动态内容,您可以实现扩展点org.eclipse.help.ui.searchEngine

    【讨论】:

    • “配置区”是什么意思??我正在开发插件,而不是完整的产品。我正在使用 searchEngine 扩展点,但这对索引构建有帮助吗?索引应该由其他一些组件预先构建,以便引擎工作。
    • 索引只在需要的时候建立。如果索引目录被删除,下次访问时会自动重建索引。有一个全局索引。插件可以包含一个预建索引,用于构建全局索引,而不是读取 TOC 引用的所有文件。大多数设置和缓存都存储在.metadata 工作区文件夹中。但并非如此,而是存储在配置文件夹中的全局索引(以编程方式获取配置区域位置:new org.eclipse.core.runtime.preferences.ConfigurationScope().getLocation())。
    • Eclipse 还为您自己的帮助搜索引擎实现提供了一个扩展点,它可以不使用索引,也可以使用它自己的索引。但我认为在你的情况下这不是一个好主意,因为那样会太费力,不是吗?
    • 我相信在我的情况下不需要创建自己的索引。标准帮助索引是完美的。我只想要一个“机制”来升级(或重建)我的帮助插件的索引,当它在平台上运行时,在用户站点。它应该像一个带有更新脚本的“数据库版本”...... :)
    • 我的意思是..唯一的解决方案似乎是升级插件版本,但并非总是如此......
    【解决方案2】:

    我发现触发索引重建的唯一方法是更改​​插件的版本号,如https://stackoverflow.com/a/12033859/11643143

    出于性能原因,预先构建索引很有用,但不会触发搜索引擎使用的新索引!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-12
      • 2016-01-12
      • 2019-10-30
      • 2017-12-15
      • 1970-01-01
      • 2017-04-05
      相关资源
      最近更新 更多