我们将 Liferay (6.1.20 EE) 与 Solr 搜索引擎一起使用。
现在 Solr 索引所有内容。我们能否以某种方式设置 Solr(或 Liferay)来防止一个站点被索引?
这意味着该站点上存在的所有文章文档都不会被索引并且不会出现在 Solr 中。
1)这是否应该在索引启动之前使用 Solr 配置/模式过滤器完成?或者 2) 是否应该在 Liferay Indexer 类中自定义(借助 Hooks 或 EXT)以跳过被索引的内容。
感谢您的想法和建议。
问候,克里斯
您可以创建一个自定义版本的 solr-web WAR 文件,您需要安装该文件以使 Liferay/SOLR 集成工作。在 WAR 文件中,您将找到 SolrIndexWriterImpl。这是所有通过 SOLR 索引的地方。您可以创建自己的此类的自定义实现,该实现使用 SearchContext 参数中的信息,该信息被传递到每个方法中,以决定是否应该对某些内容进行索引。
solr-web 的最新代码可以在这里找到:http ://svn.liferay.com/repos/public/plugins/trunk/webs/solr-web/
基于此代码,我还能够创建一个 solr-web.war,它适用于更新的 SOLR 版本,而不是 Liferay 默认使用的古老的 1.4.1 版本。