使其中一个Liferay社区(称为站点)未在solr中建立索引

使其中一个Liferay社区(称为站点)未在solr中建立索引,solr,indexing,liferay,Solr,Indexing,Liferay,我们正在Solr搜索引擎中使用Liferay(6.1.20 EE) 现在Solr索引所有内容。我们可以通过某种方式设置Solr(或Liferay)来防止一个站点被索引吗 这意味着该站点上的所有文章文档都不会被索引,也不会出现在Solr中 1) 在索引开始之前,是否应该使用Solr配置/模式过滤器来完成此操作? 或 2) 是否应该在Liferay Indexer类中进行自定义(在挂钩或EXT的帮助下),以跳过正在编制索引的内容 谢谢你的想法和建议 问候,, Kris您可以创建需要安装的solr w

我们正在Solr搜索引擎中使用Liferay(6.1.20 EE)

现在Solr索引所有内容。我们可以通过某种方式设置Solr(或Liferay)来防止一个站点被索引吗

这意味着该站点上的所有文章文档都不会被索引,也不会出现在Solr中

1) 在索引开始之前,是否应该使用Solr配置/模式过滤器来完成此操作? 或 2) 是否应该在Liferay Indexer类中进行自定义(在挂钩或EXT的帮助下),以跳过正在编制索引的内容

谢谢你的想法和建议

问候,,
Kris

您可以创建需要安装的solr web WAR文件的自定义版本,以使Liferay/solr集成工作。在WAR文件中可以找到SolrIndexWriterImpl。这是所有经过的地方,它们将在SOLR中被索引。您可以创建自己的此类自定义实现,该类使用SearchContext参数中的信息(传递到每个方法中)来决定是否应该为某些内容编制索引

solr web的最新代码可在此处找到:


基于这段代码,我还能够创建一个solr-web.war,它可以在较新的solr版本上工作,而不是Liferay默认使用的古老的1.4.1版本。

谢谢您的回答!这是有道理的!我们正在使用Liferay EE,这个来自公共SVN的Solr web会工作吗?也许你知道我们从哪里可以获得这个与EE版本兼容的插件的源代码?作为EE客户,你可以从Liferay客户门户下载包含此WAR文件源代码的ZIP。只需登录,进入Places>Customer Portal,单击下载>门户插件并滚动到solr web部分。对我来说,直接链接是:从6.1.20EE版本开始,solr web插件只能从新的Liferay place:Marketplace下载。他们没有下载源代码的功能。但是在联系技术支持部门后,我们已经获得了资源,我可以成功地修改这个插件,在Liferay和Solr之间插入一些过滤器。
谢谢你,fimez!