Re: Matching and Scoring with multiple fields

From: "Tim Johnson" <tim(at)lincolnshirenow(dot)com>
To: <pgsql-sql(at)postgresql(dot)org>
Subject: Re: Matching and Scoring with multiple fields
Date: 2000-07-10 18:56:08
Message-ID: NBBBLHOPPPPCHCIABAFGGELNCMAA.tim@lincolnshirenow.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

I have a problem. Ok I'll rephrase that, a challenge.

I have a table like this:

a,b,c,d,e,f,g,h
---------------
2,5,3,4,4,5,2,2
1,1,1,1,1,1,1,1
5,5,5,5,5,5,5,5
3,3,2,4,5,1,1,3
1,1,5,5,5,5,1,4
1,5,5,5,4,4,2,1
5,5,5,5,1,1,1,1
1,1,1,1,5,5,5,5
(rows 8)

a to h are of type int.

I want to take input values which relate to this table say:
how do you feel about a:
how do you feel about b:
how do you feel about c:
...

and the answers will be 1 to 5.

Now I want to take those answers for my incoming a to h and scan down the
table pulling out the closest matches from best to worst. There will be
about 2000 rows in the final table and I will LIMIT the rows in blocks of 10
or so.

I can do the limiting stuff, but not the matching. My first thought was to
sum each row and match by that until I came out of my mental coma and
noticed that the last two lines have the same sum and are complete
opposites.

So, where to from here? I thought I could go through line by line selecting
with a tolerance on each value say +-1 to begin with, then again with +-2
but that will take hours and I'm not entirely sure it'll work or how I'll do
it.

I know general netequitte says that I shouldn't just dump my problem here,
but I am truly stumped by this one - if anybody can give me a pointer in the
right direction I'd greatly appreciate it.

Thanks,
Tim Johnson
---
http://www.theinkfactory.co.uk

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Ed Loehr 2000-07-10 19:07:31 Re: Timestamp problem
Previous Message Bernie Huang 2000-07-10 18:52:26 Timestamp problem