Addendum to the Rubicon 2 Manual
procedure
CheckMatchResults(Search : TrbSearch; DataSet : TDataSet; Sorted : Boolean); Use this procedure to perform a union of the Rubicon search results and the DataSet. After calling the procedure, Search will reflect the results of the union. The DataSet is not altered. The DataSet must contain the IndexFieldName column. If the DataSet is sorted by IndexFieldName, then Sorted may be set to True. However, if Search.MatchCount is small and DataSet.RecordCount is large, setting Sorted to False should improve performance. The Sorted parameter is ignored under Delphi 1. The DataSet must be indexed for Delphi 1. See example in c:\rubicon2\examples\TTable\ExRange.dpr.
property TrbCustomCache.CompressPercent : Integer; When a TrbCache is used with TrbUpdate or
TrbSearch, words and indexes are added to the cache as they are used by
the engine. When the cache is full, the indexes will be compressed. When
more than CompressPercent of the words in the cache are compressed, then
the least recently used words are purged from the cache. Introduced in Rubicon 2.05
property TrbEngine.FastPhrase : Boolean; Set this property to True in TrbMake (it is read only elsewhere) to enable faster searching for phrases. When enabled, searches containing leading wildcards are not supported unless ReverseField is also enabled. This property should only be set by advanced users after careful evaluation since using it increases the Words table size significantly. This property is public, not published, so it must be set in code. For a complete discussion of this property, see FastPhrase. Introduced in Rubicon 2.04.
property TrbController.FieldNames : TStrings; The default field name for the field containing the database name is DBName, not DatabaseName.
TErrorEvent = procedure (Sender : TObject; const E : Exception) of object; property TrbServerUpdate.OnError : TErrorEvent; This event is called when the component encounters an error writing a word to the WordsLink. Introduced in Rubicon 2.20.
procedure TrbSearch.MatchingWordsEx(List : TStrings); Similar to MatchingWords, but the Objects property contains a pointer to a TWordInfo record. Introduced in Rubicon 2.08.
property TrbSearch.MissingWords : TStrings; Returns a list of words missing from the search. A search for "delphi3 or delphi4" may return 100 matches, but "delphi3" may not be in the database, in which case it would appear in MissingWords. Introduced in Rubicon 2.08.
property TrbTextDataSetLink.IndexFieldName : String; The example in the manual is incorrect. Should be: rbMakeTextTableLink1.IndexFieldName := 'CustNo';
property
TrbTextDataSetLink.OnMinIndex : TIndexValueEvent; If the OnMinIndex event is being used to reserve some index locations below the current minimum index value in the table and query based drivers are being used, the value returned by the event must not be less than the current minimum index value minus the BlockSize.
property TrbEngine.OnParseWord : TParseWordEvent; TParseWordEvent = function
(Sender : TObject; var S : PChar; var
Len : Cardinal; Wildcards : Boolean) : String of object; The event should return each word to the Sender even if the word does not meet the MinWordLen criteria, the word is in the OmitList, or the word may be rejected by the OnAcceptWord event. Even if a word is not indexed, it can be used in proximity searches and may be used when FastPhrase is enabled. This event is called when indexing the text and when parsing words entered in a search. This ensures that the parsing used is consistent between indexing and searching. However, when searches are performed, wildcard characters should not be considered as word delimiters. Therefore, when the event is called in the context of a search, the Wildcards parameter is set to True so that the event can make the appropriate adjustments. If this event is used to index the text in TrbMake, the OnParseWord event must also be set in TrbUpdate and TrbSearch. In Delphi 1, the Len parameter will appear as a Word. See c:\rubicon2\examples\TTable\ExParse.dpr for an example. Introduced in Rubicon 2.04.
property
TrbRankSearch.RankPresense : Word;
procedure TrbBase.Reset;
property
TrbWordsDataSetLink.ReverseField : Boolean;
property
TrbBasicSearch.SearchOptions : TSearchOptions; When soNavNatural is set, navigation with
FindFirst, FindNext, FindPrior, and FindLast is in natural order based
on the IndexFieldName, otherwise navigation is based on the RankMode. Introduced in Rubicon 2.05.
property
TrbTextSQLLink.SelectAll : Boolean;
property
TrbTextDataSetLink.SubFieldNames : TStrings;
procedure TrbUpdateDialog.UpdateEvent(Sender : TObject); Assign this method to the AfterUpdate and/or AfterBatch events in order to notify TrbUpdateDialog when to update itself. When the first update is performed, the update dialog will be automatically displayed. procedure
TForm1.FormCreate(Sender: TObject);
All of the above corrections are reflected in the
2.05 help file. Custom Ordering of Search Results (p. 175) In the fourth paragraph, the reference to IndexFieldName should instead be IndexFieldNames. For a TTable, the code is: if MatchCount > 0 then
|
Copyright 2003 © Tamarack Associates |
||
www.TamarackA.com | Last updated 06/13/03 | www.FullTextSearch.com |