From: | Madison Kelly <linux(at)alteeve(dot)com> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | Query help |
Date: | 2007-03-08 06:20:10 |
Message-ID: | 45EFAB1A.2060105@alteeve.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Hi all,
I've got a query that looks through a table I use for my little
search engine. It's something of a reverse-index but not quite, where a
proper reverse index would have 'word | doc1, doc3, doc4, doc7' showing
all the docs the keyword is in, mine has an entry for eac
I've got a query like:
SELECT
sch_id, sch_for_table, sch_ref_id, sch_instances
FROM
search_index
WHERE
(sch_keyword LIKE '%digi%' OR sch_keyword LIKE '%madi%')
AND
sch_for_table!='client'
AND
... (more restrictions)
ORDER BY
sch_instances DESC;
This returns references to a data column (sch_ref_id) in a given
table (sch_for_table) for each matched keyword.
The problem I am having is that two keywords might reference the same
table/column which would, in turn, give me two+ search results pointing
to the same entry.
What I would like to do is, when two or more results match the same
'sch_ref_id' and 'sch_for_table' to merge the results. Specifically, the
'sch_instances' column is the number of times the given keyword is found
in the table/column. I'd like to add up the number in the duplicate
results (to give it a higher accuracy and move it up the search results).
Is this possible or would I need to add this logic in my program? I'd
rather do it in PostgreSQL though, if I could.
Here is the 'search_index' table I am using:
db=> \d search_index
Table "public.search_index"
Column | Type | Modifiers
---------------+---------+-----------------------------------------------
sch_id | integer | not null default nextval('sch_seq'::regclass)
sch_keyword | text | not null
sch_instances | integer | not null default 1
sch_for_table | text | not null
sch_ref_id | integer | not null
Indexes:
"search_index_pkey" PRIMARY KEY, btree (sch_id)
Thanks in advance to any help you might be able to give me!
Madison
From | Date | Subject | |
---|---|---|---|
Next Message | George Heller | 2007-03-08 06:41:41 | Password for postgres |
Previous Message | Benjamin Smith | 2007-03-08 03:42:32 | Re: server vendor recommendation |