Problema en una query con CMIS en un modelo propio

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Member II

Problema en una query con CMIS en un modelo propio

Hola a todos,

   tenemos un problema con una query CMIS contra Alfresco 4.0.e, con Lucene. Hasta ahora todo funcionaba bien, pero hemos definido un modelo propio para los documentos. El modelo es el siguiente:


<model xmlns="http://www.alfresco.org/model/dictionary/1.0" name="uji:customModel">

    <description>Custom Model</description>
    <author/>
    <version>1.0</version>
    <imports>
        <import uri="http://www.alfresco.org/model/dictionary/1.0" prefix="d"/>
        <import uri="http://www.alfresco.org/model/content/1.0" prefix="cm"/>
    </imports>

    <namespaces>
        <namespace uri="http://www.uji.es/model/content/1.0" prefix="uji"/>
    </namespaces>

    <types>
        <type name="uji:doc">
            <title>Url Node</title>
            <parent>cm:content</parent>
            <properties>
                <property name="uji:urlNode">
                    <type>d:text</type>
                </property>
            </properties>
            <associations/>
        </type>
    </types>
    <aspects/>
</model>


Con este modelo hemos cargado documentos sin ningún problema. En la propiedad uji:urlNode se han guardado los datos correctamente. Pero a la hora de hacer querys con CMIS usando esta propiedad, tenemos un problema.

Imaginemos que tenemos un documento con la propiedad uji:urlNode = 'noticias'

Pues bien, la siguiente select no devuelve nada:

SELECT * FROM uji:doc where uji:urlNode like '%noticias%'

Si cambiamos la palabra 'noticias' por 'noticia', tampoco. Si quitamos y ponemos '%' tampoco, pero con la siguiente select sí devuelve resultado:

SELECT * FROM uji:doc where uji:urlNode like '%notici%'

Esta también:

SELECT * FROM uji:doc where uji:urlNode like 'notici'

y, por supuesto, con esta también:

SELECT * FROM uji:doc where uji:urlNode = 'noticias'

Hemos probado con otras palabras y tenemos lo mismo. Para que funcione el like hay que recortar la palabra que buscamos.

Tenemos más querys en las que usamos LIKE, pero siempre contra cmis:document, y ha funcionado bien. No estamos seguros de si és un bug o nos estamos dejando algo.

Gracias por la ayuda

Paco
2 Replies
Highlighted
Member II

Re: Problema en una query con CMIS en un modelo propio

El problema era la indexación en Lucene, modificando el modelo hemos corregido este problema:


<model xmlns="http://www.alfresco.org/model/dictionary/1.0" name="uji:customModel">

    <description>Custom Model</description>
    <author/>
    <version>1.0</version>
    <imports>
        <import uri="http://www.alfresco.org/model/dictionary/1.0" prefix="d"/>
        <import uri="http://www.alfresco.org/model/content/1.0" prefix="cm"/>
    </imports>

    <namespaces>
        <namespace uri="http://www.uji.es/model/content/1.0" prefix="uji"/>
    </namespaces>

    <types>
        <type name="uji:doc">
            <title>Url Node</title>
            <parent>cm:content</parent>
            <properties>
                <property name="uji:urlNode">
                    <type>d:text</type>
                    <index enabled="true">
                        <atomic>true</atomic>
                        <stored>true</stored>
                        <tokenised>false</tokenised>
                    </index>
                </property>
            </properties>
            <associations/>
        </type>
    </types>
    <aspects/>
</model>

saludos
Highlighted
Intermediate

Re: Problema en una query con CMIS en un modelo propio

Pues vaya, si que era simple la solución.. De esos problemas que te dan dolor de cabeza y al final ya ves.

Gracias por compartir la solución  :wink: