IRISLIB database
Synonym Class Reference
Inheritance diagram for Synonym:
Collaboration diagram for Synonym:

Static Public Member Functions

_.Library.Status GetMatch (_.Library.String Source, Matches, IndexParam)
 
- Static Public Member Functions inherited from Persistent
_.Library.Status DeleteData (_.Library.String id, _.Library.Integer concurrency)
 This method is normally generated by the storage class for persistent classes using. More...
 
_.Library.Status KillExtentData (_.Library.Boolean killstreams)
 KillExtentData() - kills extent data in storage. More...
 
_.Library.Status OnAfterBuildIndices (_.Library.String indexlist)
 This callback method is invoked by the <METHOD>BuildIndices</METHOD> method after all work is completed. More...
 
_.Library.Status OnAfterDelete (_.Library.ObjectIdentity oid)
 This callback method is invoked by the <METHOD>Delete</METHOD> method to. More...
 
_.Library.Status OnAfterPurgeIndices (_.Library.String indexlist)
 This callback method is invoked by the <METHOD>PurgeIndices</METHOD> method after all work is completed. More...
 
_.Library.Status OnBeforeBuildIndices (_.Library.String indexlist)
 
_.Library.Status OnBeforePurgeIndices (_.Library.String indexlist)
 
_.Library.Status OnDelete (_.Library.ObjectIdentity oid)
 This callback method is invoked by the <METHOD>Delete</METHOD> method to. More...
 

Public Attributes

 FromTerm
   More...
 
 ToTerm
   More...
 

Additional Inherited Members

- Public Member Functions inherited from Persistent
_.Library.Status AcquireLock (_.Library.String locktype)
 Acquires a lock for the current instance. More...
 
_.Library.Status LoadData (_.Library.String id)
 LoadData() - loads an object from storage. More...
 
_.Library.Status OnAfterSave (_.Library.Boolean insert)
 This callback method is invoked by the <METHOD>Save</METHOD> method to. More...
 
_.Library.Status OnBeforeSave (_.Library.Boolean insert)
 This callback method is invoked by the <METHOD>Save</METHOD> method to. More...
 
_.Library.Status OnOpen ()
 This callback method is invoked by the <METHOD>Open</METHOD> method to. More...
 
_.Library.Status OnReload ()
 This callback method is invoked by the <METHOD>Reload</METHOD> method to. More...
 
_.Library.Status OnRollBack ()
 This callback method is invoked by the <METHOD>Save</METHOD> method to. More...
 
_.Library.Status ReleaseLock (_.Library.String locktype)
 Releases a lock for the current instance. More...
 
_.Library.Status SaveData (_.Library.String id)
 SaveData() - saves an object to disk, checks uniqueness and referential More...
 
- Public Member Functions inherited from SwizzleObject
_.Library.Status OnJournalObject (_.Library.Integer tranid, _.Library.Integer jrnid, _.Library.String filter)
 This callback method is invoked by the <METHOD>JournalObject</METHOD> method to. More...
 
- Public Member Functions inherited from RegisteredObject
_.Library.Status OnAddToSaveSet (_.Library.Integer depth, _.Library.Integer insert, _.Library.Integer callcount)
 This callback method is invoked when the current object is added to the SaveSet,. More...
 
_.Library.Status OnClose ()
 This callback method is invoked by the <METHOD>Close</METHOD> method to. More...
 
_.Library.Status OnConstructClone (_.Library.RegisteredObject object, _.Library.Boolean deep, _.Library.String cloned)
 This callback method is invoked by the <METHOD>ConstructClone</METHOD> method to. More...
 
_.Library.Status OnNew ()
 This callback method is invoked by the <METHOD>New</METHOD> method to. More...
 
_.Library.Status OnValidateObject ()
 This callback method is invoked by the <METHOD>ValidateObject</METHOD> method to. More...
 
- Static Public Attributes inherited from Persistent
 XCOMPACTANCESTRY
 XCOMPACTANCESTRY can be set to a string to replace the value of the %CLASSNAME property (x__classname field) More...
 
 DATALOCATIONGLOBAL = None
 Global name containing master map data for this class. More...
 
 DEFAULTGLOBAL = None
 
 DSCONDITION = None
 DSCONDITION is the expression that will be evaluated before deciding whether certain actions must be taken. More...
 
 DSINTERVAL = None
 DSINTERVAL is the number of seconds between one DSTIME value and the next. More...
 
 DSTIME = None
 If the DSTIME parameter is set to AUTO then the most recent filing operation in the current DSTIME value. More...
 
 EXTENTQUERYSPEC = None
 The EXTENTQUERYSPEC parameter defines the properties to be retrieved in. More...
 
 EXTENTSIZE = None
 The EXTENTSIZE parameter is used to inform the SQL Query Optimizer More...
 
 GUIDENABLED = None
 If this parameter is set to 1 then a GUID will be assigned (to the GUID property) to each new object. More...
 
 IDENTIFIEDBY = None
 The IDENTIFIEDBY parameter can optionally be set to the name. More...
 
 MANAGEDEXTENT = None
 The MANAGEDEXTENT parameter can be set to 0 (zero) to cause the Extent Manager. More...
 
 READONLY = None
 READONLY = 1 means that objects can be created, opened but not saved or deleted. More...
 
 ROWLEVELSECURITY = None
 ROWLEVELSECURITY = 1 | <property> means that row level security is active and the list More...
 
 SQLPREVENTFULLSCAN = None
 SQLPREVENTFULLSCAN = 1 means an attempt to prepare a query that will result in a full scan More...
 
 STORAGEDEFAULT = None
 STORAGEDEFAULT defines the default storage allocation to use for properties in this class. More...
 
 USEEXTENTSET = None
 
 VERSIONCLIENTNAME = None
 VERSIONCLIENTNAME can be set to a valid CLIENTNAME (see property CLIENTNAME) value. More...
 
 VERSIONPROPERTY = None
 VERSIONPROPERTY = <property> means that the <property> in memory will be compared to. More...
 
- Static Public Attributes inherited from SwizzleObject
 DEFAULTCONCURRENCY = None
 DEFAULTCONCURRENCY is the default value for the concurrency formal argument. More...
 
 JOURNALSTREAM = None
 If OBJJOURNAL is true then the value of the JOURNALSTREAM parameter defines whether or not. More...
 
 OBJJOURNAL = None
 if OBJJOURNAL is TRUE then inserts, updates and deletes will be logged in ^OBJ.JournalT More...
 
- Static Public Attributes inherited from RegisteredObject
 CAPTION = None
 Optional name used by the Form Wizard for a class when generating forms. More...
 
 JAVATYPE = None
 The Java type to be used when exported.
 
 PROPERTYVALIDATION = None
 This parameter controls the default validation behavior for the object. More...
 

Detailed Description

To leverage the iFind synonym expansion functionality, users have to create the class which extends <class> iFind.Synonym </class>.

Users could define the synonym pair by inserting (FromTerm,ToTerm) pair into the synonym table. Both FromTerm and ToTerm could be just single word or multuple words. If ToTerm consists of multiple word, it is implicitly treated as a iFind positional search phrase after expansion. For Japanese, user should ensure the ToTerm is always an single valid term, since iFind do not support positional search for Japanese

For synonym pair like (New York,NY), "NY" is automatically expanded into your query phrase. For (ISC, Inter*System* Corp),the iFind positional search phrase (Inter*System* Corp) get expanded into the original query.

So if the text contains a phrase like "InterSystems Corp", it is a match. One thing should be noted is that the minimum mathcing unit in the query is the single word or an valid positional search phrase. This means iFind won't try to perform query expanion for the single word of the positioal phrase. You have to explicitly specify the whole positional search phrase in the synonym table, (New York, NY) is an example here.

Users could use the default logic implemented in GetMatch() to decide where the term of the indexed text matches to FromTerm or not. Users could also overwrite the default implementation in <method>GetMatch</method> to provide your own matching logic.

To supply the synonym tables during query, users should provide a comma seperated list which contain the full qualified name of those synonym tables to the fifth parameter of search_index().

Suppose users define two synonym tables called "iFind.Sym1" and "iFind.Sym2",
The query leveraing the single synonym table expansion could be like:
select * from Sample.Tab where ID FIND search_index(iFind_Index,'query terms',,,'iFind.Sym1')

The query leveraing multiple synonym tables expansion could be like:
select * from Sample.Tab where ID FIND search_index(iFind_Index,'query terms',,,'iFind.Sym1,iFind.Sym2')

Member Function Documentation

◆ GetMatch()

_.Library.Status GetMatch ( _.Library.String  Source,
  Matches,
  IndexParam 
)
static

This function returns all the ToTerm in the synonym table in which the FromTerm is exactly identical with Source

The results are placed in Matches with the format Matches("ToTerm") = ""

The IndexParam should contain all the parameters defined for the specific iFind index in which you would like to perform synonym expansion. For example, if you define "LOWER" for this specific iFind index, the <method>GetMatch</method> would also follow the "LOWER" setting to decide whether this match has be case sensitive or case insensitive.

Note: any wildcard in the Source would be treated as normal character. For example, if the FromTerm is "InterSystems" and the Source is "InterSystem*", the Source would not match this FromTerm. Also, <method>GetMatch</method> performs language independent exact match, this implies each FromTerm could belong to different languages.

Member Data Documentation

◆ FromTerm

FromTerm

 

 

◆ ToTerm

ToTerm