{"id":506,"date":"2025-08-11T08:27:00","date_gmt":"2025-08-11T07:27:00","guid":{"rendered":"http:\/\/www.sepchat.com\/SC\/?p=506"},"modified":"2025-08-06T13:58:20","modified_gmt":"2025-08-06T12:58:20","slug":"omnifind-sur-ibmi","status":"publish","type":"post","link":"http:\/\/www.sepchat.com\/SC\/index.php\/2025\/08\/11\/omnifind-sur-ibmi\/","title":{"rendered":"Omnifind sur IBMi"},"content":{"rendered":"\n<p id=\"ember595\">Il y a peu, j&rsquo;ai eu l&rsquo;occasion de mettre en place l&rsquo;outil IBM <strong>OMNIFIND <\/strong>pour un client.<\/p>\n\n\n\n<p id=\"ember596\">Cet outil permet d&rsquo;ex\u00e9cuter des recherches textuelles dans une base de donn\u00e9es DB2, dans des champs de type texte, mais aussi dans des documents contenus dans l&rsquo;IFS comme des fichiers xml, json, pdf, doc, &#8230;.<\/p>\n\n\n\n<p id=\"ember597\">Outre le fait qu&rsquo;il soit multi plateforme (Windows, Linux ou IBMi) il s&rsquo;int\u00e8gre parfaitement dans les requ\u00eates SQL existantes. Il permet de remplacer avantageusement les recherches avec LIKE en termes de performances et de souplesse.<\/p>\n\n\n\n<p id=\"ember598\">Comment fonctionne-t-il ?<\/p>\n\n\n\n<p id=\"ember599\">Dans un premier temps, il faut cr\u00e9er un index. Cet index pointe sur un champ d&rsquo;une table ou d&rsquo;un fichier physique.<\/p>\n\n\n\n<p id=\"ember600\">Par exemple, si on souhaite faire une recherche sur libell\u00e9 d&rsquo;un produit dans le fichier ARTICLPF, on va ex\u00e9cuter les instructions suivantes :<\/p>\n\n\n\n<p id=\"ember601\">CALL SYPROCS.SYSTS_CREATE (&lsquo;LIBFILE&rsquo; , &lsquo;ARTICLT1&rsquo;, &lsquo;LIBFILEARTICEPF(LABELART)&rsquo; FORMAT TEXT&rsquo;) ;<\/p>\n\n\n\n<p id=\"ember602\">LIBFILE est la biblioth\u00e8que objet ou sont stock\u00e9s l&rsquo;index ARTICLT1 et la table ARTICLEPF.<\/p>\n\n\n\n<p id=\"ember603\">LABELART est le champ sur lequel on fera la recherche<\/p>\n\n\n\n<p id=\"ember604\">CALL SYPROCS.SYSTS_ALTER (&lsquo;LIBFILE&rsquo; , &lsquo;ARTICLT1&rsquo;, &lsquo;UPDATE FREQUENCY (D(*) H(06) M(0)&rsquo;);<\/p>\n\n\n\n<p id=\"ember605\">CALL SYPROCS.SYSTS_UPDATE (&lsquo;LIBFILE&rsquo;, &lsquo;ARTICLT1&rsquo;, \u00a0\u00bb) ;<\/p>\n\n\n\n<p id=\"ember606\">La cr\u00e9ation d&rsquo;un index se fait en 3 \u00e9tapes. La premi\u00e8re va cr\u00e9er physiquement l&rsquo;index.<\/p>\n\n\n\n<p id=\"ember607\">La seconde permet de d\u00e9finir la fr\u00e9quence de mise \u00e0 jour de l&rsquo;index.<\/p>\n\n\n\n<p id=\"ember608\">Contrairement \u00e0 un index classique, le chemin d&rsquo;acc\u00e8s d&rsquo;un index textuel n&rsquo;est pas mis \u00e0 jour dynamiquement.<\/p>\n\n\n\n<p id=\"ember609\">Celui ci est mi \u00e0 jour \u00e0 intervalle r\u00e9gulier d\u00e9fini par cette \u00e9tape.<\/p>\n\n\n\n<p id=\"ember610\">L&rsquo;index textuel est cr\u00e9\u00e9 vide. La troisi\u00e8me \u00e9tape permet de le remplir avec les donn\u00e9es pr\u00e9sentes dans le fichier ou la table parente. En fonction du volume de donn\u00e9es, cette \u00e9tape peut prendre plusieurs dizaines de minutes.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Il y a peu, j&rsquo;ai eu l&rsquo;occasion de mettre en place l&rsquo;outil IBM OMNIFIND pour un client. Cet outil permet d&rsquo;ex\u00e9cuter des recherches textuelles dans une base de donn\u00e9es DB2, dans des champs de type texte, mais aussi dans des documents contenus dans l&rsquo;IFS comme des fichiers xml, json, pdf, doc, &#8230;. Outre le fait [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":511,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[7],"tags":[],"_links":{"self":[{"href":"http:\/\/www.sepchat.com\/SC\/index.php\/wp-json\/wp\/v2\/posts\/506"}],"collection":[{"href":"http:\/\/www.sepchat.com\/SC\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.sepchat.com\/SC\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.sepchat.com\/SC\/index.php\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"http:\/\/www.sepchat.com\/SC\/index.php\/wp-json\/wp\/v2\/comments?post=506"}],"version-history":[{"count":1,"href":"http:\/\/www.sepchat.com\/SC\/index.php\/wp-json\/wp\/v2\/posts\/506\/revisions"}],"predecessor-version":[{"id":507,"href":"http:\/\/www.sepchat.com\/SC\/index.php\/wp-json\/wp\/v2\/posts\/506\/revisions\/507"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/www.sepchat.com\/SC\/index.php\/wp-json\/wp\/v2\/media\/511"}],"wp:attachment":[{"href":"http:\/\/www.sepchat.com\/SC\/index.php\/wp-json\/wp\/v2\/media?parent=506"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.sepchat.com\/SC\/index.php\/wp-json\/wp\/v2\/categories?post=506"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.sepchat.com\/SC\/index.php\/wp-json\/wp\/v2\/tags?post=506"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}