Magnolia CMS:如何获取搜索结果的 locale-based 摘录?

Magnolia CMS: How to get locale-based excerpt for search result?

使用文档中提供的搜索示例片段

https://documentation.magnolia-cms.com/display/DOCS/Search#Search-Displayingpagesinthewebsiteworkspace

[#list searchResults as item]
    <a href="${cmsfn.link(item)}" class="list-group-item">
        <h4 class="list-group-item-heading">${item.title!}</h4>
        <p class="list-group-item-text">${item.excerpt!}</p>
    </a>
[/#list]

变量 ${item.excerpt!} returns 所有语言 的摘录,不仅是当前语言环境。因此,如果我有一个德语 (de) 和法语 (fr) 页面,此 ${items.excerpt!} 包含并显示一个索引标题元素,例如两次。 Solr 不会按语言分别提取和存储文本吗?

${item.title} 以正确的语言显示。

如何只获取当前语言环境的摘录?


DE 搜索(也显示法语文本):


FR 搜索(也显示德语文本):

由于 excerpt 属性 实际上不是 属性,而是 Jackrabbit rep:excerpt() 函数的结果(参见 SearchTemplatingFunctions code),简短的回答是 不,这是不可能的

无论如何,您始终可以实现自己的 SearchTemplatingFunctions(Jackrabbit 的 and/or ExcerptProvider)。