elasticsearch 如何使用Liferay API在弹性搜索中构建父子关系搜索';s,elasticsearch,liferay,liferay-dxp,elasticsearch,Liferay,Liferay Dxp" /> elasticsearch 如何使用Liferay API在弹性搜索中构建父子关系搜索';s,elasticsearch,liferay,liferay-dxp,elasticsearch,Liferay,Liferay Dxp" />

elasticsearch 如何使用Liferay API在弹性搜索中构建父子关系搜索';s

elasticsearch 如何使用Liferay API在弹性搜索中构建父子关系搜索';s,elasticsearch,liferay,liferay-dxp,elasticsearch,Liferay,Liferay Dxp,我们在Liferay中有一个名为“Publication”的自定义实体。它在弹性搜索中编制索引,并包含一个名为“journalArticleId”的字段 根据我们的搜索要求,如果一些用户在期刊文章中搜索任何关键字,我们必须返回包含相应期刊的“journalArticleId”的发布文档 我找到了使用JavaAPI实现这个的解决方案,但我正在寻找Liferay API来解决这个问题 提前感谢您的回复。您应该能够找到覆盖索引器的文档。听起来您可以扩展现有的期刊索引器:只需将额外的发布数据添加到现有

我们在Liferay中有一个名为“Publication”的自定义实体。它在弹性搜索中编制索引,并包含一个名为“journalArticleId”的字段

根据我们的搜索要求,如果一些用户在期刊文章中搜索任何关键字,我们必须返回包含相应期刊的“journalArticleId”的发布文档

我找到了使用JavaAPI实现这个的解决方案,但我正在寻找Liferay API来解决这个问题


提前感谢您的回复。

您应该能够找到覆盖索引器的文档。听起来您可以扩展现有的期刊索引器:只需将额外的发布数据添加到现有期刊文章的全文索引中,就会自动找到它

编辑(在您的评论之后):在不查找它的情况下,我假设Liferay对API的封装并没有真正满足父子关系(但是:我可能错了,它可能是简单的)。然而,Liferay还允许您与SOLR(以及其他潜在用户)交换Elasticsearch,因此其API自然不会使用底层搜索引擎的所有功能。但是,您应该始终能够自己进行额外调用—可能不是在索引器中,而是在ES适配器附近


解决方案可能是:在索引器中准备内容,稍后在Elasticsearch适配器中将其分为父级和子级。

对于现有索引器的扩展,您应该尝试实现索引器后处理器挂钩。。。而不是用ext插件覆盖它们

6.2的链接

7 aka dxp的链接

弹性搜索为父子映射提供了功能,可以使用Java API实现上述情况的解决方案。

我们已经联系了Liferay支持团队,他们回答说Liferay elasticsearch适配器还不支持此功能。
版本:liferay-dxp-digital-enterprise-7.0-sp3

liferay 6、7或dxp?请根据您的问题进行标记,而不是根据允许的Tagsorry@OlafKock的编号进行标记。我编辑了它。谢谢你的回复。我们已经覆盖了indexer类,并且能够将发布文档索引到elasticsearch中。我们有一个严格的业务要求,即在EL中使用关系映射和文档结构。因此,我无法将出版物数据添加到现有期刊的全文索引中。如果用户在出版物中搜索关键字,我们必须使用父子映射来查看相应出版物的JournalArticle。感谢您的回复。不幸的是,这不是我想知道的。如果您需要更多关于我们情况的澄清,请进一步询问有关此问题的任何问题。