From: | Bruce Momjian <bruce(at)momjian(dot)us> |
---|---|
To: | Petr Jelinek <pjmodos(at)pjmodos(dot)net> |
Cc: | PostgreSQL www <pgsql-www(at)postgresql(dot)org> |
Subject: | Re: Docbot search fix |
Date: | 2007-11-24 19:36:54 |
Message-ID: | 200711241936.lAOJasT16593@momjian.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-www |
Uh, did this get addressed? If so, I didn't see it.
---------------------------------------------------------------------------
Petr Jelinek wrote:
> Hello,
>
> there is one problem in current implementation of docbot search on pg
> website (the "Based on your search term, we recommend the following
> links" part). It only works for single words which is not how docbot is
> meant to work.
> Attached patch handles multi-word search queries the way docbot does.
>
> --
> Regards
> Petr Jelinek (PJMODOS)
>
> Index: system/page/search.php
> ===================================================================
> --- system/page/search.php (revision 1813)
> +++ system/page/search.php (working copy)
> @@ -105,7 +105,15 @@
>
> function search_docbot() {
> if ($this->pagenum > 1) return; // only show docbot urls on first page
> - $qry = "SELECT url FROM docbot_keylist WHERE \"key\" = '". pg_escape_string($this->query) ."'ORDER BY url ~ 'postgresql.org' desc, url LIMIT ". $this->maxdocbots;
> + // split query to separate words
> + $keys = preg_split('/\s+/', str_replace('"', '', $this->query));
> +
> + // build the keyword search sql query
> + $part = "SELECT kurl FROM docbot_key WHERE \"key\" = lower('";
> + $qry = "SELECT url FROM docbot_url WHERE id IN (\n";
> + $qry .= join("\n\tINTERSECT\n", array_map(create_function('$e', 'global $part; return $part.pg_escape_string($e)."\')";'), $keys));
> + $qry .= ")\nORDER BY url ~ 'postgresql.org' desc, url LIMIT ".$this->maxdocbots;
> +
> $rs = $this->pg_query($qry,'search');
> for ($i = 0; $i < pg_num_rows($rs); $i++) {
> $r = pg_fetch_array($rs, $i, PGSQL_ASSOC);
>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: Have you checked our extensive FAQ?
>
> http://www.postgresql.org/docs/faq
--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://postgres.enterprisedb.com
+ If your life is a hard drive, Christ can be your backup. +
From | Date | Subject | |
---|---|---|---|
Next Message | Bruce Momjian | 2007-11-24 19:37:33 | Re: Update of web site for alias name |
Previous Message | Stefan Kaltenbrunner | 2007-11-24 09:06:54 | Re: [pgsql-eu-general] an admin team for the new European servers |