{"id":172,"date":"2004-07-26T17:05:15","date_gmt":"2004-07-26T15:05:15","guid":{"rendered":"http:\/\/www.marblestation.com\/blog\/?p=172"},"modified":"2012-04-26T19:01:41","modified_gmt":"2012-04-26T17:01:41","slug":"bsquedas-booleanas-con-php-y-mysql","status":"publish","type":"post","link":"https:\/\/www.marblestation.com\/?p=172","title":{"rendered":"B\u00fasquedas booleanas con PHP y MySQL"},"content":{"rendered":"<p>Hace unos dias necesitaba unas funciones para poder implementar un b\u00fascador que aceptase terminos booleanos, es decir, que se pudiesen buscar cosas como: &#8220;linux AND gimp&#8221;, &#8220;gaim OR gaim-vv&#8221;, &#8220;linux + torvalds&#8221;&#8230;.<\/p>\n<p>En primer lugar descubr\u00ed que a partir de MySQL 4 se podian hacer consulta sobre campos FULLTEXT en lo que se denomina &#8220;IN BOOLEAN MODE&#8221;. Con esto podiamos buscar &#8220;linux +torvalds&#8221; y la propia MySQL se encarga de interpretar los operadores booleanos. Esto es fant\u00e1stico pq te hace todo el trabajo sucio autom\u00e1ticamente, pero el inconveniente es que es necesario la versi\u00f3n 4 y los campos FULLTEXT no estan soportados en tablas INNODB.<\/p>\n<p>As\u00ed que segu\u00ed buscando y encontre unas fant\u00e1sticas funciones en esta <a href=\"http:\/\/davidaltherr.net\/web\/php_functions\/boolean\/form.mysql.boolean.php\">web<\/a>, las cuales interpretan los terminos booleanos para contruir una sentencia SQL. El \u00fanico problema es que utilizaba campos FULLTEXT, as\u00ed que tuve que adaptar las funciones para que buscase con el LIKE de toda la vida, cuando puera pegare por aqui las modificaciones \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hace unos dias necesitaba unas funciones para poder implementar un b\u00fascador que aceptase terminos booleanos, es decir, que se pudiesen buscar cosas como: &#8220;linux AND gimp&#8221;, &#8220;gaim OR gaim-vv&#8221;, &#8220;linux + torvalds&#8221;&#8230;. En primer lugar descubr\u00ed que a partir de MySQL 4 se podian hacer consulta sobre campos FULLTEXT en lo que se denomina &#8220;IN &hellip; <a href=\"https:\/\/www.marblestation.com\/?p=172\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">B\u00fasquedas booleanas con PHP y MySQL<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,6],"tags":[],"class_list":["post-172","post","type-post","status-publish","format-standard","hentry","category-espanyol","category-tecnologia"],"_links":{"self":[{"href":"https:\/\/www.marblestation.com\/index.php?rest_route=\/wp\/v2\/posts\/172","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.marblestation.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.marblestation.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.marblestation.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.marblestation.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=172"}],"version-history":[{"count":1,"href":"https:\/\/www.marblestation.com\/index.php?rest_route=\/wp\/v2\/posts\/172\/revisions"}],"predecessor-version":[{"id":1750,"href":"https:\/\/www.marblestation.com\/index.php?rest_route=\/wp\/v2\/posts\/172\/revisions\/1750"}],"wp:attachment":[{"href":"https:\/\/www.marblestation.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=172"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.marblestation.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=172"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.marblestation.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=172"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}