Re: [GENERAL] Searching a DB index.. possible?

2010-02-11 Thread Richard Huxton

On 11/02/10 17:11, Moe wrote:

You might want to summarize down to a separate (word,frequency) table.
Particularly if you don't want stemming to interfere with your suggestions.


Stemming is ok. That's fine.

How would this normally be implemented?  Should I go through my text word by
word myself, or the already existing index and copy over to a new table? Not
sure how this would be managable. Every change to something would require a
word count down, and then a word up after.


I wouldn't bother keeping it 100% up-to-date. You only want the 
most-plausible suggestions anyway. Have a look at the ts_stat() function.


http://www.postgresql.org/docs/8.4/interactive/textsearch-features.html

Run it overnight, and summarise to a separate table, then just use 
"like" against it.


Otherwise, like you say, your database will spend most of its time 
adding up word counts etc.


--
  Richard Huxton
  Archonet Ltd

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


Re: [GENERAL] Searching a DB index.. possible?

2010-02-11 Thread Moe
On Thu, Feb 11, 2010 at 6:56 PM, Richard Huxton  wrote:

> On 05/02/10 15:48, Moe wrote:
>
>> I am trying to figure out how I can introduce full text search "tips"...
>> tips meaning, like if you start typing Mer ..
>> then a box with a couple of words underneath comes up, with *Mercedes,
>> Mercury *and so on :P
>>
>> I am thinking that the word suggestions needs to come from the already
>> existing tsearch2 index.
>> Words that are frequent in the index could be ranked higher as a search
>> tip.
>>
>
> This could get expensive if you have a large index.



> You might want to summarize down to a separate (word,frequency) table.
> Particularly if you don't want stemming to interfere with your suggestions.
>

Stemming is ok. That's fine.

How would this normally be implemented?  Should I go through my text word by
word myself, or the already existing index and copy over to a new table? Not
sure how this would be managable. Every change to something would require a
word count down, and then a word up after.


> See the manuals (full text search) for details on prefix searches -
> introduced in 8.4 if you really want to go the tsearch route.
>

I'll look into that.

-- 
>  Richard Huxton
>  Archonet Ltd
>


Re: [GENERAL] Searching a DB index.. possible?

2010-02-11 Thread Richard Huxton

On 05/02/10 15:48, Moe wrote:

I am trying to figure out how I can introduce full text search "tips"...
tips meaning, like if you start typing Mer ..
then a box with a couple of words underneath comes up, with *Mercedes,
Mercury *and so on :P

I am thinking that the word suggestions needs to come from the already
existing tsearch2 index.
Words that are frequent in the index could be ranked higher as a search tip.


This could get expensive if you have a large index. You might want to 
summarize down to a separate (word,frequency) table. Particularly if you 
don't want stemming to interfere with your suggestions.


See the manuals (full text search) for details on prefix searches - 
introduced in 8.4 if you really want to go the tsearch route.


--
  Richard Huxton
  Archonet Ltd

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


Re: [GENERAL] Searching a DB index.. possible?

2010-02-11 Thread Moe
Bump

On Fri, Feb 5, 2010 at 5:48 PM, Moe  wrote:

> I am trying to figure out how I can introduce full text search "tips"...
> tips meaning, like if you start typing Mer ..
> then a box with a couple of words underneath comes up, with *Mercedes,
> Mercury *and so on :P
>
> I am thinking that the word suggestions needs to come from the already
> existing tsearch2 index.
> Words that are frequent in the index could be ranked higher as a search
> tip.
>
> Is there a way to query the actual existing index?
>
> How else could one approach this? There are many sites that uses this, so
> perhaps there is an easier way I haven't thought of yet.
>
> Thank you / Moe
>


[GENERAL] Searching a DB index.. possible?

2010-02-05 Thread Moe
I am trying to figure out how I can introduce full text search "tips"...
tips meaning, like if you start typing Mer ..
then a box with a couple of words underneath comes up, with *Mercedes,
Mercury *and so on :P

I am thinking that the word suggestions needs to come from the already
existing tsearch2 index.
Words that are frequent in the index could be ranked higher as a search tip.

Is there a way to query the actual existing index?

How else could one approach this? There are many sites that uses this, so
perhaps there is an easier way I haven't thought of yet.

Thank you / Moe