<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic NXQL ILIKE Python API in Nuxeo Forum</title>
    <link>https://connect.hyland.com/t5/nuxeo-forum/nxql-ilike-python-api/m-p/328071#M15072</link>
    <description>&lt;P&gt;Bonjour,&lt;/P&gt;
&lt;P&gt;J'ai un problème avec mes requêtes NXQL, en effet je cherche à effectuer une recherche sur un champ (dc:title par exemple) qui ne soit pas sensible à la casse depuis une application développée avec Django et utilisant l'API Python de Nuxeo.&lt;/P&gt;
&lt;P&gt;Toutefois lorsque j'essaye d'utiliser "ILIKE" dans ma requête NXQL celle-ci ne retourne rien alors qu'elle est correcte (marche dans la partie Administrateur de la GED Nuxeo)&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class="language-python"&gt;    query = "SELECT * FROM Document WHERE ecm:path STARTSWITH '" + category.path.split("{", maxsplit=1)[0] + "' AND ecm:primaryType = '" + category.doc_type + "'"

    # Récupération des données du formulaire
    for field in form.fields:
        result = unquote(re.search(field + '(.+?)&amp;amp;', request.__str__()).group(1).replace("=", "")).replace("+", " ")
        f = field.replace("ctm_", "")
        cel = CategoryElement.objects.get(category=category, element=Element.objects.get(name=f))

        if cel.property_type and cel.is_text_field:
            query += " AND " + cel.property_type + ":" + f + " ILIKE '%" + result + "%'"
            values.append([cel.property_type + ":" + f, result])

    print(query)
    
    docs = sso_instance.nuxeo.client.query(query=query)

    print(docs['entries'])
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;ce programme affiche :&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;SELECT * FROM Document WHERE ecm:path STARTSWITH '/SVE' AND ecm:primaryType = 'Cocktail' AND dc:title ILIKE '%CaRTe%'&lt;/P&gt;
&lt;P&gt;[]&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="type an image title"&gt;&lt;img src="https://connect.hyland.com/t5/image/serverpage/image-id/1935iFE6B85F409C7E4B8/image-size/large?v=v2&amp;amp;px=999" role="button" title="type an image title" alt="type an image title" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;J'aimerais savoir si il y a une syntaxe particulière pour le ILIKE ne utilisant l'API Python ou s'il est possible de faire quelque chose pour que les requêtes ne soient pas sensibles à la casse.&lt;/P&gt;
&lt;P&gt;Merci d'avance,&lt;/P&gt;
&lt;P&gt;Hugo&lt;/P&gt;</description>
    <pubDate>Wed, 07 Apr 2021 12:58:36 GMT</pubDate>
    <dc:creator>De_Grossi_Hugo</dc:creator>
    <dc:date>2021-04-07T12:58:36Z</dc:date>
    <item>
      <title>NXQL ILIKE Python API</title>
      <link>https://connect.hyland.com/t5/nuxeo-forum/nxql-ilike-python-api/m-p/328071#M15072</link>
      <description>&lt;P&gt;Bonjour,&lt;/P&gt;
&lt;P&gt;J'ai un problème avec mes requêtes NXQL, en effet je cherche à effectuer une recherche sur un champ (dc:title par exemple) qui ne soit pas sensible à la casse depuis une application développée avec Django et utilisant l'API Python de Nuxeo.&lt;/P&gt;
&lt;P&gt;Toutefois lorsque j'essaye d'utiliser "ILIKE" dans ma requête NXQL celle-ci ne retourne rien alors qu'elle est correcte (marche dans la partie Administrateur de la GED Nuxeo)&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class="language-python"&gt;    query = "SELECT * FROM Document WHERE ecm:path STARTSWITH '" + category.path.split("{", maxsplit=1)[0] + "' AND ecm:primaryType = '" + category.doc_type + "'"

    # Récupération des données du formulaire
    for field in form.fields:
        result = unquote(re.search(field + '(.+?)&amp;amp;', request.__str__()).group(1).replace("=", "")).replace("+", " ")
        f = field.replace("ctm_", "")
        cel = CategoryElement.objects.get(category=category, element=Element.objects.get(name=f))

        if cel.property_type and cel.is_text_field:
            query += " AND " + cel.property_type + ":" + f + " ILIKE '%" + result + "%'"
            values.append([cel.property_type + ":" + f, result])

    print(query)
    
    docs = sso_instance.nuxeo.client.query(query=query)

    print(docs['entries'])
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;ce programme affiche :&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;SELECT * FROM Document WHERE ecm:path STARTSWITH '/SVE' AND ecm:primaryType = 'Cocktail' AND dc:title ILIKE '%CaRTe%'&lt;/P&gt;
&lt;P&gt;[]&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="type an image title"&gt;&lt;img src="https://connect.hyland.com/t5/image/serverpage/image-id/1935iFE6B85F409C7E4B8/image-size/large?v=v2&amp;amp;px=999" role="button" title="type an image title" alt="type an image title" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;J'aimerais savoir si il y a une syntaxe particulière pour le ILIKE ne utilisant l'API Python ou s'il est possible de faire quelque chose pour que les requêtes ne soient pas sensibles à la casse.&lt;/P&gt;
&lt;P&gt;Merci d'avance,&lt;/P&gt;
&lt;P&gt;Hugo&lt;/P&gt;</description>
      <pubDate>Wed, 07 Apr 2021 12:58:36 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/nuxeo-forum/nxql-ilike-python-api/m-p/328071#M15072</guid>
      <dc:creator>De_Grossi_Hugo</dc:creator>
      <dc:date>2021-04-07T12:58:36Z</dc:date>
    </item>
  </channel>
</rss>

