Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 3 of 3 total
Thread lightningfast partial search with custom word generator
Thu, Sep 16 2010 2:23 AMPermanent Link

Kick

ENK Software

Tim,

I have been messing around with the word generator functionality and came up with a custom word generator that creates lots of keywords for each word so all possible parts of that word are indexed. This way I can search for parts of a word without using the wildcard (to slow) and very fast!

Its just a rough draw and needs some finetuning but already it works great. On a 1.2 milion record database searching for part of a word in a 70 char string is almost instant. But I am afraid that the design could lead to wrong indexwords if more that one instances are rebuilding keywords. I use some variables in the module that hold the state I am in between calls of GenerateWord. I have tested it a bit and cannot really determine if it goes wrong since you cannot see the keywords it generates. Could you have a look and see if it could cause problems?



Attachments: unit1.zip
Fri, Sep 17 2010 2:04 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Kick,

<< Its just a rough draw and needs some finetuning but already it works
great. On a 1.2 milion record database searching for part of a word in a 70
char string is almost instant. But I am afraid that the design could lead to
wrong indexwords if more that one instances are rebuilding keywords. I use
some variables in the module that hold the state I am in between calls of
GenerateWord. I have tested it a bit and cannot really determine if it goes
wrong since you cannot see the keywords it generates. Could you have a look
and see if it could cause problems? >>

I'm a little swamped right now, but I'll take a look ASAP and let you know
what I see.

--
Tim Young
Elevate Software
www.elevatesoft.com
Tue, May 24 2011 12:53 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Kick,

My apologies, I completely forgot about this.  I looked at your code today,
and it will be fine with multiple sessions/threads.  EDB keeps each word
generator module instance isolated by session, so keeping your state
variables as members of the word generator module will prevent any problems
with multiple sessions/threads.

--
Tim Young
Elevate Software
www.elevatesoft.com
Image