Alfresco禁用特定内容模型的全文索引



使用Alfresco 4.2或5.0,如何在内容模型的基础上禁用全文索引?

这是一个示例内容模型,

您具体更改了什么(即,如果不如何将其实际用于内容模型,请不要引用索引控制方面)。

<model name="my:textdoc" xmlns="http://www.alfresco.org/model/dictionary/1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<imports>
    <import prefix="d" uri="http://www.alfresco.org/model/dictionary/1.0" />
    <import prefix="cm" uri="http://www.alfresco.org/model/content/1.0" />
</imports>
<namespaces>
    <namespace prefix="my"
        uri="http://www.notarealurl.xyz/model/my/1.0" />
</namespaces>
<types>
<type name="my:securetextdoc">
<title>text docs with keyword searching, but not content searching</title>
 <parent>cm:content</parent>
<properties>
<property name="my:securekeywords">
 <title>custom key word text field</title>
 <type>d:text</type>
 <mandatory>true</mandatory>
</property>
</properties>
<mandatory-aspects>
<!-- <aspect>cm:dublincore</aspect> -->
<aspect>cm:versionable</aspect>
</mandatory-aspects>
</type>
</types>

最终答案

<model name="my:textdoc" xmlns="http://www.alfresco.org/model/dictionary/1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<imports>
    <import prefix="d" uri="http://www.alfresco.org/model/dictionary/1.0" />
    <import prefix="cm" uri="http://www.alfresco.org/model/content/1.0" />
</imports>
<namespaces>
    <namespace prefix="my"
        uri="http://www.notarealurl.xyz/model/my/1.0" />
</namespaces>
<types>
<type name="my:securetextdoc">
<title>text docs with keyword searching, but not content searching</title>
 <parent>cm:content</parent>
<properties>
<property name="my:securekeywords">
 <title>custom key word text field</title>
 <type>d:text</type>
 <mandatory>true</mandatory>
</property>
</properties>
<mandatory-aspects>
<!-- <aspect>cm:dublincore</aspect> -->
<aspect>my:doNotIndexContentControl</aspect>
<aspect>cm:versionable</aspect>
</mandatory-aspects>
</type>
</types>
<aspects>
    <aspect name="my:doNotIndexContentControl">
        <title>Do Not Index Control</title>
        <parent>cm:indexControl</parent>
        <overrides>
            <property name="cm:isIndexed">
                <default>true</default>
            </property>
            <property name="cm:isContentIndexed">
                <default>false</default>
            </property>
        </overrides>
    </aspect>
</aspects>
</model>

重要说明:如果收到"源节点类没有回调"错误,这与更改内容模型,然后尝试更新(可能可版本控制)现有内容有关。 没有已知的解决方法,但这与索引控制选项无关。

您可以通过

定义扩展cm:indexControl的新方面来实现这一点,如下所示:

<aspect name="my:doNotIndexContentControl">
    <title>Do Not Index Control</title>
    <parent>cm:indexControl</parent>
    <overrides>
        <property name="cm:isIndexed">
           <default>true</default>
        </property>
        <property name="cm:isContentIndexed">
           <default>false</default>
        </property>
    </overrides>
</aspect>

请注意覆盖。 重写的属性 cm:isContentIndexed ,默认值设置为 false 是键。

然后,将此方面添加为不希望全文索引内容的类型的必需方面。 有关cm:indexControl的完整配置选项,请参阅文档 http://docs.alfresco.com/4.2/concepts/admin-indexes.html

此外,如果您有已编制索引的现有内容项,并且希望不再为这些文档编制索引,则需要执行完全重新索引。

这在Alfresco维基上的数据字典指南中有介绍

您需要做的就是对您的模型进行所有这些操作:

<index enabled="false" />

如果你看一下Alfresco系统模型,你会看到几个例子。

最新更新