Alfresco 5.0.a/b d:mltext 双面
Alfresco 5.0.a/b doubled facets for d:mltext
facets 似乎不能与多语言属性一起正常工作。
我在 Alfresco 5.0.a 和 5.0.b 中对全新安装进行了简单测试:
- 在站点中创建了一个文本文档。
- 用英文描述。
- 已将浏览器语言更改为法语。
- 添加了法语版的描述。
- 搜索文件名。
- 只找到一个刚刚创建的文档。
问题是在左侧面板的描述方面我有两个描述 - 一个英语和一个法语。
两者都指向同一个文件,但逻辑上应该只有一个描述(取决于浏览器的语言)。
有人遇到过这个问题吗?这似乎是一个错误。
嗨,我不确定这是否是一个错误,但从技术上讲它看起来应该是。
多语言字段包含同一字段的多个文本定义。 Solr 索引该字段并看到有 2 个值(即使对于同一个字段),因此他从中创建了一个方面。
当然可以在 UI 中过滤掉,Alfresco 可能需要这样做(提出一个 JIRA,以便他们可以查看)。但在技术方面 faceting/filtering 它可以正常工作。
我提出了一个问题ALF-21249
并且还找到了一个解决方法,虽然有点脏,但效果很好。
假设您有一个名称为 ccm:property
的 属性,其类型为 d:mltext
,并且您希望此 属性 具有英文和法文的分面。
- 定义具有两个 d:text 属性的方面:
ccm:propertyEn
和 ccm:propertyFr
- 将此方面应用于类型。
- 设置
ccm:property
时还设置 ccm:propertyEn
和 ccm:propertyFr
属性
- 修改
faceted-search.get.js
中的变量 facets
以便根据用户的语言显示一个或另一个方面:
if (locale.substring(0, 2)== "fr")
facetQName = "{http://www.ccm.com/model/ccm/1.0}propertyFr.__.u";
else
facetQName = "{http://www.ccm.com/model/ccm/1.0}propertyEn.__.u";
facets.unshift(
{
id: "FCTSRCH_FACET_DOCUMENT_TYPE",
name: "alfresco/search/FacetFilters",
config: {
label: msg.get("faceted-search.facet-menu.facet.docType"),
facetQName: facetQName,
sortBy: "ALPHABETICALLY",
hitThreshold: 1,
minFilterValueLength: 5,
maxFilters: 10,
useHash: false
}
});
完成! :)
facets 似乎不能与多语言属性一起正常工作。 我在 Alfresco 5.0.a 和 5.0.b 中对全新安装进行了简单测试:
- 在站点中创建了一个文本文档。
- 用英文描述。
- 已将浏览器语言更改为法语。
- 添加了法语版的描述。
- 搜索文件名。
- 只找到一个刚刚创建的文档。
问题是在左侧面板的描述方面我有两个描述 - 一个英语和一个法语。 两者都指向同一个文件,但逻辑上应该只有一个描述(取决于浏览器的语言)。
有人遇到过这个问题吗?这似乎是一个错误。
嗨,我不确定这是否是一个错误,但从技术上讲它看起来应该是。
多语言字段包含同一字段的多个文本定义。 Solr 索引该字段并看到有 2 个值(即使对于同一个字段),因此他从中创建了一个方面。
当然可以在 UI 中过滤掉,Alfresco 可能需要这样做(提出一个 JIRA,以便他们可以查看)。但在技术方面 faceting/filtering 它可以正常工作。
我提出了一个问题ALF-21249
并且还找到了一个解决方法,虽然有点脏,但效果很好。
假设您有一个名称为 ccm:property
的 属性,其类型为 d:mltext
,并且您希望此 属性 具有英文和法文的分面。
- 定义具有两个 d:text 属性的方面:
ccm:propertyEn
和ccm:propertyFr
- 将此方面应用于类型。
- 设置
ccm:property
时还设置ccm:propertyEn
和ccm:propertyFr
属性 - 修改
faceted-search.get.js
中的变量facets
以便根据用户的语言显示一个或另一个方面:
if (locale.substring(0, 2)== "fr")
facetQName = "{http://www.ccm.com/model/ccm/1.0}propertyFr.__.u";
else
facetQName = "{http://www.ccm.com/model/ccm/1.0}propertyEn.__.u";
facets.unshift(
{
id: "FCTSRCH_FACET_DOCUMENT_TYPE",
name: "alfresco/search/FacetFilters",
config: {
label: msg.get("faceted-search.facet-menu.facet.docType"),
facetQName: facetQName,
sortBy: "ALPHABETICALLY",
hitThreshold: 1,
minFilterValueLength: 5,
maxFilters: 10,
useHash: false
}
});
完成! :)