{"id":3765,"date":"2017-11-22T20:37:29","date_gmt":"2017-11-22T19:37:29","guid":{"rendered":"http:\/\/gpmfactory.com\/?p=3765"},"modified":"2017-11-24T21:39:29","modified_gmt":"2017-11-24T20:39:29","slug":"oracle-content-experience-and-fulltext-search","status":"publish","type":"post","link":"https:\/\/gpmfactory.com\/index.php\/2017\/11\/22\/oracle-content-experience-and-fulltext-search\/","title":{"rendered":"Oracle Content &#038; Experience and Fulltext search"},"content":{"rendered":"<blockquote><p><b>Pr\u00e9sentation<\/b><\/p><\/blockquote>\n<p>Ce post concerne le service <em>Oracle Content &amp; Experience<\/em> (aka <em>Documents Cloud service<\/em>) donne des indications sur le fonctionnement de la recherche de type fulltext et la recherche sur les metadata<\/p>\n<ul>\n<li>La recherche Full Text fonctionne correctement via l&rsquo;API REST et via les autres interfaces. La recherche structur\u00e9e ne fonctionne qu&rsquo;avec les APIs REST.<\/li>\n<li><b>La recherche sur les Metadata (<i>Custom Properties<\/i>) fonctionne via l&rsquo;API REST <\/b>et d&rsquo;une fa\u00e7on moins structur\u00e9e via les autres interfaces. Il faut auparavant activer l&rsquo;indexation sur ces metadata via l&rsquo;API REST. On peut ainsi d\u00e9clencher une recherche du type: Liste de tous les documents pour lesquels contrat.metier=nettoyage. Via l&rsquo;interface Web, on ne peut que pr\u00e9ciser le mot \u00ab\u00a0<i>nettoyage<\/i>\u00ab\u00a0, mais sans pouvoir indiquer qu&rsquo;il s&rsquo;agit de la valeur de l&rsquo;attibut <i>metier<\/i>. La recherche, dans ce dernier cas, sera donc moins pr\u00e9cise qu&rsquo;avec l&rsquo;API REST.<\/li>\n<\/ul>\n<p><!--more--><\/p>\n<p>source: cf <a href=\"https:\/\/docs.oracle.com\/en\/cloud\/paas\/content-cloud\/rest-api-content-management\/op-documents-api-1.2-folders-search-items-get.html\">documentation APIs REST<\/a><\/p>\n<blockquote><p><b>Mise en Oeuvre<\/b><\/p><\/blockquote>\n<ul>\n<li>Mise en place de metadata (Custom Properties)\n<ul>\n<li>Activer l\u2019usage des metadata<\/li>\n<li>Cr\u00e9er un groupe de metadata (collection)<\/li>\n<li>Ajouter des attributs \u00e0 cette collection<\/li>\n<li>Associer une collection de metadata (custom properties)\n<ul>\n<li>Au niveau Folder<\/li>\n<li>Au niveau Document<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<blockquote><p><b>Recherche sur les metadata<\/b> (<i>Custom Properties<\/i>)<\/p><\/blockquote>\n<p><b>Activer l\u2019indexation sur la metadata collection<\/b><\/p>\n<p>Il faut effectuer cette op\u00e9ration au moins une fois afin de d\u00e9clencher la cr\u00e9ation d&rsquo;index sp\u00e9cifiques pour les metadonn\u00e9es d\u00e9sign\u00e9es.<\/p>\n<p>Activer les index sur les Custom properties \u00e0 l&rsquo;aide de l&rsquo;API REST metadata\/searchFields:<\/p>\n<pre>https:\/\/&lt;tenant&gt;.documents.us2.oraclecloud.com:443\/\r\ndocuments\/api\/1.2\/metadata\/searchFields<\/pre>\n<p>BODY<\/p>\n<pre>{\r\n\t\t\"collection\":\"Qualite\",\r\n\t\t\"fields\":\"Organisation,idClient\"\r\n\t}<\/pre>\n<p>R\u00e9sultat:<\/p>\n<pre>{\r\n\t\t\"errorCode\": \"0\"\r\n\t}<\/pre>\n<p><b>APIs de Recherche<\/b><\/p>\n<p>On utilise l&rsquo;api folders\/search ou folders\/{id}\/search.<\/p>\n<p>Voici un exemple de recherche sur une metadata (<i>Organisation<\/i>):<\/p>\n<pre>https:\/\/&lt;tenant&gt;.documents.us2.oraclecloud.com:443\/\r\ndocuments\/api\/1.2\/folders\/search\/\r\nitems?querytext=Qualite.Organisation&lt;CONTAINS&gt;%60Madrid%60<\/pre>\n<p>%60 correspond au caract\u00e8re backslash (`)<\/p>\n<p>R\u00e9sultat:<\/p>\n<pre>{\r\n\t\"count\": \"1\",\r\n\t\"errorCode\": \"0\",\r\n\t\"offset\": \"0\",\r\n\t\"totalCount\": \"1\",\r\n\t\"items\":\r\n\t\t[\r\n\t\t{\"type\": \"file\", \"id\": \r\n\"XXXXX73C3AE2FC9F89XXXXXXXXX684E9015A1C98104\", \r\n\"name\": \"fi-sw-nor_fr.pdf\",\u2026}\r\n\t]\r\n}<\/pre>\n<blockquote><p><b>Recherche Fulltext<\/b><\/p><\/blockquote>\n<p>On utilise le verbe <b>fulltext<\/b>.<\/p>\n<pre>\/folders\/search\/items?fulltext=Marseille&amp;limit=100<\/pre>\n<p>(<i>tous les documents contenant le mot Marseille, soit dans le corps du document soit dans le titre ou la description, soit dans les tags ou m\u00e9tadonn\u00e9es)<\/i><\/p>\n<blockquote><p><b>Combinaison FullText et metadata<\/b><\/p><\/blockquote>\n<p>Exemple de requ\u00eate avec une combinaison de recherche sur metadata et fulltext<\/p>\n<p>Il faut utiliser <b>querytext<\/b> (et non pas fulltext) et combiner un pr\u00e9dicat avec une m\u00e9tadonn\u00e9e et l&rsquo;autre avec une recherche fulltext (op\u00e9rateur <b>&lt;ftx&gt;<\/b>)<\/p>\n<pre>Qualite.Organisation&lt;CONTAINS&gt;%60Marseille%60&lt;OR&gt;\r\n&lt;ftx&gt;canebi\u00e8re&lt;\/ftx&gt;<\/pre>\n<p><i>(tous les documents dont l&rsquo;organisation est \u00e9gal \u00e0 \u00ab\u00a0Marseille\u00a0\u00bb ou bien dans lesquels apparait le mot \u00ab\u00a0cannebi\u00e8re\u00a0\u00bb<\/i>)<\/p>\n<p>Remarque: la recherche est \u00ab\u00a0sensible\u00a0\u00bb aux <b>voyelles accentu\u00e9es<\/b>:<\/p>\n<p><i>canebiere<\/i> n&rsquo;est pas la m\u00eame chose que <i>canebi\u00e8re<\/i><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Pr\u00e9sentation Ce post concerne le service Oracle Content &amp; Experience (aka Documents Cloud service) donne des indications sur le fonctionnement de la recherche de&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[],"ppma_author":[150],"class_list":["post-3765","post","type-post","status-publish","format-standard","hentry","category-dev"],"authors":[{"term_id":150,"user_id":1,"is_guest":0,"slug":"admin8700","display_name":"Patrick","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/209d5ed69b74d288390621ab4c1d3773?s=96&d=mm&r=g","0":null,"1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":""}],"_links":{"self":[{"href":"https:\/\/gpmfactory.com\/index.php\/wp-json\/wp\/v2\/posts\/3765","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gpmfactory.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gpmfactory.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gpmfactory.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gpmfactory.com\/index.php\/wp-json\/wp\/v2\/comments?post=3765"}],"version-history":[{"count":2,"href":"https:\/\/gpmfactory.com\/index.php\/wp-json\/wp\/v2\/posts\/3765\/revisions"}],"predecessor-version":[{"id":3916,"href":"https:\/\/gpmfactory.com\/index.php\/wp-json\/wp\/v2\/posts\/3765\/revisions\/3916"}],"wp:attachment":[{"href":"https:\/\/gpmfactory.com\/index.php\/wp-json\/wp\/v2\/media?parent=3765"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gpmfactory.com\/index.php\/wp-json\/wp\/v2\/categories?post=3765"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gpmfactory.com\/index.php\/wp-json\/wp\/v2\/tags?post=3765"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/gpmfactory.com\/index.php\/wp-json\/wp\/v2\/ppma_author?post=3765"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}