java - Liferay 搜索与附件术语匹配的结构化网页内容

标签 java elasticsearch liferay booleanquery

我们有一个带有“文档和媒体”字段的网络内容结构“S”。

我们基于之前的结构“S”创建了一个名为“W”的网页内容,其中包含一个名为“a”的单词文件附件,其中包含“hello”文本。

我们知道 lucene/ElasticSearch 正在索引附件的内容(例如,如果附件是 word 或 pdf 文件)。

因此,我们进行 lucene 搜索(使用 booleanQuery,筛选 JournalArticle)来检索 S 网页内容以匹配“hello”搜索词。

但是我们看到 lucene 在 JournalArticle 上进行过滤,返回一个带有这些数据的类似 json 的对象:

“ddm__关键字__87940__attachments_en_US”:[ {\"groupId\":\"115863\",\"title\":\"a.word\",\"type\":\"document\",\"uuid\":\"dffd1d3d-8b78-a64c-4d0c-8d004d24cb75\"}]

它只有对 DLFileEntry 对象的引用。

有没有一种方法,只需一个请求,即可检索与单词附件匹配的期刊文章?

我们看到 Liferay 提出了“索引器后处理器”,它可以帮助我们将 DLFileEntry 数据存储在 Web 内容的新字段中,但 DLFileEntry 索引是异步的。

我们能做什么?

最佳答案

如果您不坚持在 ES 级别上进行单个查询,我会使用 Hit 后处理器来解决它。

https://dev.liferay.com/de/develop/tutorials/-/knowledge_base/7-0/introduction-to-liferay-search#hitsprocessor

我会查询文件中的单词,然后如果有命中,我会使用后处理器增强结果以添加/替换潜在的 Web 内容条目。

关于java - Liferay 搜索与附件术语匹配的结构化网页内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54465062/

相关文章:

java - 如何分析运行Tomcat的嵌入式H2数据库的内存消耗?

sorting - Elasticsearch使用脚本对日期桶进行排序

elasticsearch - Elasticsearch 主键和副键

html - 如何在 Liferay 中使用 CSS 导入? CSS 快速加载效果不佳

liferay - 如何在liferay速度中检查登录用户?

java.lang.ClassCastException - Log4j

java - 理解java中实现Runnable的线程

elasticsearch - 从Elasticsearch的小写过滤器中排除某些 token

java - 从 URL liferay 中删除/web/site-name

java - 在返回类/对象名称的抽象类中实现方法