Subject Re: [firebird-support] FB Embedded: Table Field encryption questions
Author Chuck Belanger
Hi, Geoff:

Thank you ver much for reviewing FTS (full text search)!

I actually did something like that before, but I had no idea what it was
called.

It was a lot of email to a news group for a specific medical protocol. I
was thinking of making a database of all the email with this FTS ability.

Bottom line: its a big job!

There are actually lists of common "exclusion words" which help (i.e."
the, an, a" many others). I forget the technical term for them which
someone interested would need to find such lists on the internet. But the
really hard part was making the phrase look ups. This requires looking
through each pair of words (or triplet of words or whatever) and keeping
or discarding the phrase. With a couple of years of email in this
particular group, soon I had 100,000 entries in the FTS table to deal
with.

My main concern yesterday was whether using XOR encryption could be used
for incremental searches, which my program uses a lot. I would like to
let anyone interested know that it does just fine. In other words, XOR
encrypts the first two letters of a partial word the same as it would the
first two characters of the full word. This will make searching possible
on the main descriptors of the treeview possible. Other encryption
schemes seem to add characters to the string being encrypted such that
merely two characters would be different from the first two characters of
the full word. (Maybe I'm wrong on this? but I seemed to have seen this
with BlowFish as an example.)

I still have to deal with the BLOBs. I have seen BLOB text searches which
do not use FTS (some Woll2Woll components) and they are reasonably fast
on a fast system. I may use the FTS, but only if I "have to." I may still
try to use a UDF to decrypt the blob, so that I could do a Dataset.Locate
type of command. I could keep a dataset open for these lookups throughout
a session with my program, to keep the time needed to create a dataset
down to the initial loading of the program. It should make the BLOB
searches no slower than the current W2W components.

I appreciate that this topic is somewhat off topic, but I know I'm not
the only one whose had such concerns with a desktop system with a
distributed DB and using FB embedded. Thanks to the monitors for allowing
this discussion.

Chuck