You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Van MOHAMED (JIRA)" <ji...@apache.org> on 2017/08/31 11:55:00 UTC

[jira] [Updated] (OAK-6607) Oak facet indexes seems to only work for nt:base

     [ https://issues.apache.org/jira/browse/OAK-6607?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Van MOHAMED updated OAK-6607:
-----------------------------
    Description: 
We are working in AEM and want to implement a Lucene facet index based on the definition found here: https://jackrabbit.apache.org/oak/docs/query/lucene.html. However, it only works if you limit the node type to nt:base. Here's a snippet of a working facet index definition.

{code:xml}
    <ntBaseFacetLucene
        jcr:primaryType="oak:QueryIndexDefinition"
        compatVersion="{Long}2"
        reindex="{Boolean}false"
        reindexCount="{Long}1"
        type="lucene"
        evaluatePathRestrictions="{Boolean}true"
        async="async" >
        <indexRules jcr:primaryType="nt:unstructured">
            <nt:base jcr:primaryType="nt:unstructured">
                <properties jcr:primaryType="nt:unstructured">
                    <contentType
                        jcr:primaryType="nt:unstructured"
                        propertyIndex="{Boolean}true"
                        facets="{Boolean}true"
                        analyzed="{Boolean}true"
                        nodeScopeIndex="{Boolean}true"
                        name="contentType" />
                </properties>
            </nt:base>
        </indexRules>
    </ntBaseFacetLucene>
{code}

If we were to replace "nt:base" by "dam:Asset" for instance, and update the contentType name property accordingly (in our case, updated in jcr:content/metadata/contentType), then the facet wouldn't work anymore. In the logs, we would get the message "facets for {} not yet indexed".

  was:
We are working in AEM and want to implement a Lucene facet index based on the definition found here: https://jackrabbit.apache.org/oak/docs/query/lucene.html. However, it never works unless you limit the node type to nt:base. Here's a snippet of a working facet index definition.

{code:xml}
    <ntBaseFacetLucene
        jcr:primaryType="oak:QueryIndexDefinition"
        compatVersion="{Long}2"
        reindex="{Boolean}false"
        reindexCount="{Long}1"
        type="lucene"
        evaluatePathRestrictions="{Boolean}true"
        async="async" >
        <indexRules jcr:primaryType="nt:unstructured">
            <nt:base jcr:primaryType="nt:unstructured">
                <properties jcr:primaryType="nt:unstructured">
                    <contentType
                        jcr:primaryType="nt:unstructured"
                        propertyIndex="{Boolean}true"
                        facets="{Boolean}true"
                        analyzed="{Boolean}true"
                        nodeScopeIndex="{Boolean}true"
                        name="contentType" />
                </properties>
            </nt:base>
        </indexRules>
    </ntBaseFacetLucene>
{code}

If we were to replace "nt:base" by "dam:Asset" for instance, and update the contentType name property accordingly (in our case, updated in jcr:content/metadata/contentType), then the facet wouldn't work anymore. In the logs, we would get the message "facets for {} not yet indexed".


> Oak facet indexes seems to only work for nt:base
> ------------------------------------------------
>
>                 Key: OAK-6607
>                 URL: https://issues.apache.org/jira/browse/OAK-6607
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>            Reporter: Van MOHAMED
>
> We are working in AEM and want to implement a Lucene facet index based on the definition found here: https://jackrabbit.apache.org/oak/docs/query/lucene.html. However, it only works if you limit the node type to nt:base. Here's a snippet of a working facet index definition.
> {code:xml}
>     <ntBaseFacetLucene
>         jcr:primaryType="oak:QueryIndexDefinition"
>         compatVersion="{Long}2"
>         reindex="{Boolean}false"
>         reindexCount="{Long}1"
>         type="lucene"
>         evaluatePathRestrictions="{Boolean}true"
>         async="async" >
>         <indexRules jcr:primaryType="nt:unstructured">
>             <nt:base jcr:primaryType="nt:unstructured">
>                 <properties jcr:primaryType="nt:unstructured">
>                     <contentType
>                         jcr:primaryType="nt:unstructured"
>                         propertyIndex="{Boolean}true"
>                         facets="{Boolean}true"
>                         analyzed="{Boolean}true"
>                         nodeScopeIndex="{Boolean}true"
>                         name="contentType" />
>                 </properties>
>             </nt:base>
>         </indexRules>
>     </ntBaseFacetLucene>
> {code}
> If we were to replace "nt:base" by "dam:Asset" for instance, and update the contentType name property accordingly (in our case, updated in jcr:content/metadata/contentType), then the facet wouldn't work anymore. In the logs, we would get the message "facets for {} not yet indexed".



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)