Login ProductsSalesSupportDownloadsAbout |
Home » Technical Support » DBISAM Technical Support » Support Forums » DBISAM General » View Thread |
Messages 1 to 8 of 8 total |
TEXT FILTER INDEX with Partial world |
Thu, May 4 2006 6:48 AM | Permanent Link |
"Antony Miller" | I
i need a FAST search in a very big database ( 1 field - string ) i try Text Filter Index ( Filter = TEXTSEARCH(xxx) ) , NICE. but i't search only complete world ( space delimited ) i need search partial word, too. IN FAST MODE. like this : procedure TForm1.tblTextFilterRecord(DataSet: TDataSet; var Accept: Boolean); begin if Pos(Edit1.Text,DataSet.FieldByName('NOTE').AsString) = 0 then begin accept := False; end; end; Are there any mode ? Dbisam 4.2x , Delphi7 |
Thu, May 4 2006 7:21 AM | Permanent Link |
Roy Lambert NLH Associates Team Elevate | Antony
If I understand the question correctly TEXTSEARCH does do a partial word match like 'match*' will find match, matches, matching etc. It can only be used at the end of a word. There's no equivalent of 'mat??es' or '*es' Roy Lambert |
Thu, May 4 2006 8:50 AM | Permanent Link |
"Antony Miller" | >> There's no equivalent of '*es'
This is a problem for me. Can i have a index for 2-3 chars ( and more ) ? no index of world , but .. index of single consegutive char . |
Thu, May 4 2006 8:52 AM | Permanent Link |
"Antony Miller" | Add :
i need this : *es* tnx. |
Thu, May 4 2006 9:46 AM | Permanent Link |
Roy Lambert NLH Associates Team Elevate | Antony
There may be addons out there that do it but DBISAM doesn't. You could use the OnTextIndexFilter event to build a string containing all the 2+ character combinations but 1) it'd be slow and 2) the full text index would be massive. Roy Lambert |
Thu, May 4 2006 10:21 AM | Permanent Link |
"Antony Miller" | > There may be addons out there that do it but DBISAM doesn't. Which addon ? name ? tnx. |
Thu, May 4 2006 11:21 AM | Permanent Link |
Roy Lambert NLH Associates Team Elevate | Antony
No idea that's why I said "may" Roy Lambert |
Thu, May 4 2006 4:31 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | Antony,
<< i need a FAST search in a very big database ( 1 field - string ) i try Text Filter Index ( Filter = TEXTSEARCH(xxx) ) , NICE. but i't search only complete world ( space delimited ) i need search partial word, too. >> The only way to do what you would want is as Roy indicated - using an TDBISAMEngine.OnTextIndexFilter event handler to create all of the various permutations of the words being indexed in order to allow for such a search. The only other way is slow and involves using a filter or query like this: SELECT * FROM MyTable WHERE MyTable.MyField LIKE '%es%'; -- Tim Young Elevate Software www.elevatesoft.com |
This web page was last updated on Thursday, March 28, 2024 at 06:05 PM | Privacy PolicySite Map © 2024 Elevate Software, Inc. All Rights Reserved Questions or comments ? E-mail us at info@elevatesoft.com |