我们有一个带有“文档和媒体”字段的Web内容结构“ S”。
我们根据先前的结构«S»创建了一个名为«W»的Web内容,其中带有一个名为“ a”的单词文件附件,其内部带有“ hello”文本。
我们知道lucene / ElasticSearch会为附件的内容建立索引,例如,它是word或pdf文件。
因此,我们进行了Lucene搜索(使用booleanQuery,对journalArticle进行拟合)以检索S网站内容以匹配“ hello”搜索字词。
但是我们看到,lucene在journalArticle上进行过滤,并返回带有这些数据的json类对象:
“ ddm__关键字__87940__attachments_zh_CN”:[ {\“ groupId \”:\“ 115863 \”,\“ title \”:\“ a.word \”,\“ type \”:\“ document \”,\“ uuid \”:\“ dffd1d3d-8b78 -a64c-4d0c-8d004d24cb75 \“}]
它仅具有对DLFileEntry对象的引用。
是否有一种方法,只需一个请求,即可检索与单词附件相匹配的日记文章?
我们看到Liferay提出了“索引器后处理器”,它可以帮助我们将DLFileEntry数据存储在Webcontent的新字段中,但DLFileEntry索引是异步的。
我们能做什么?
答案 0 :(得分:0)
如果您不坚持在ES级别上执行单个查询,则可以使用Hit Post处理程序来解决。
我将查询文件中的单词,然后如果出现匹配,我将使用后处理器来增强结果,以添加/替换潜在的Web内容条目。
答案 1 :(得分:0)
我们找到了解决方案:
唯一的缺点是文件内容被索引了两次(本来是dlFileEntry,现在是journalArticle)