Re: [SQL] Weighted Searching

From: Oleg Bartunov <oleg(at)sai(dot)msu(dot)su>
To: Mitch Vincent <mitch(at)venux(dot)net>
Cc: pgsql-general(at)postgresql(dot)org, pgsql-sql(at)postgresql(dot)org
Subject: Re: [SQL] Weighted Searching
Date: 2000-09-13 03:07:00
Message-ID: Pine.GSO.3.96.SK.1000913060434.13300A-100000@ra
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-sql

We did fulltext search using relevancy function implemented as SPI
postgres mechanism. We use coordinate information of words in text to
calculate weights. I'm harry right now, because is going to airport,
sorry, couldn't give any details.

Regards,

Oleg
On Tue, 12 Sep 2000, Mitch Vincent wrote:

> Date: Tue, 12 Sep 2000 09:22:12 -0700
> From: Mitch Vincent <mitch(at)venux(dot)net>
> To: pgsql-general(at)postgresql(dot)org
> Cc: pgsql-sql(at)postgresql(dot)org
> Subject: [SQL] Weighted Searching
>
> I emailed the list a while back about doing some weighted searching, asking
> if anyone had implemented any kind of weighted search in PostgreSQL.. I'm
> still wondering the same thing and if anyone has, I would greatly appreciate
> a private email, I'd like to discuss it in detail.. I have several ideas but
> most of them are pretty dirty and slow..
>
> What I need to do is allow the user to assign weights to fields and then
> specify a minimum weight which would dictate results..
>
> Example :
>
> A search on two fields, degree and years_experience, location_state.
>
> The user assigns degree a weight of 10, years_experience a weight of 10 and
> location_state a weight of 10. Then specifies the minimum weight as 20,
> meaning that any results returned would have to have at least two of the
> fields an exact match (any two that where the sum of the weight equals 20).
> This could be carried out to many, many fields and extremely high weights..
>
> The problem I'm having is figuring out a good way to assign the weights to
> individual fields and test to see if an individual field is exactly matched
> in the query (without running a single query for each field searched on.
>
> Example:
>
> The SQL query for the search above might be :
>
> SELECT * FROM people WHERE degree='MBA' and years_experience='5' and
> location_state='Arizona'
>
> I would want people that have an MBA and 5 years experience but they
> wouldn't necessarily have to be in Arizona (because our minimum weight is
> 20, only two would have to match)..
>
> Hopefully I'm not over-explaining to the point of confusion.. If anyone
> would have any ideas, please drop me an email.. Thanks!!!
>
> -Mitch
>
>
>
>
>

_____________________________________________________________
Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
Sternberg Astronomical Institute, Moscow University (Russia)
Internet: oleg(at)sai(dot)msu(dot)su, http://www.sai.msu.su/~megera/
phone: +007(095)939-16-83, +007(095)939-23-83

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Paul McGarry 2000-09-13 04:20:35 Replication of a portion of data to another database
Previous Message Erich 2000-09-12 23:55:12 Creating SQL functions

Browse pgsql-sql by date

  From Date Subject
Next Message Meszaros Attila 2000-09-13 14:16:57 Optimizing Multiply Joins ???
Previous Message Paulo Roberto Siqueira 2000-09-13 02:05:54 PLSQL