|
|||||||
Reader's Clinic - Stop ListsGareth Hardy of Chilworth Communications recently faxed in relation to the GO LIST tip in issue 5 "The problem is I need to update the go list quite frequently and yet I don't want to have to rebuild that index each time a change is made. A complete list of codes is held on a parameters file elsewhere. Any ideas?" When an XREF index is added to a field, a new dictionary item is created with the suffix '.XREF' and this item calls the routine XREF to dynamically parse the array into multi-values using the specified delimiter list. EG with a normal GO list (CALL omitted) 0001 XREF({TEXT},\20\,LIST,"4") where LIST was actually "ABC1" : @VM : "ABC2" : @VM : "ABC3". This could just be modified to read 0001 LIST=XLATE("PRMS","GO","", "X") 0002 XREF({TEXT},\20\,LIST,"4") or whatever the parameters file is called, ie Xlate the go list at run time. This works, but remember the caveat that as the list is changed ONLY NEW ENTRIES will reflect this new list. In other words, previously indexed records will not be indexed on the new GO words until the index is rebuilt. !WARNING!Remember when using STOP lists, BTREE.EXTRACT is not aware of their existence. If INC is in the STOP list and the user asks for ACME INC, the system will get hits for ACME but get no hits for INC. It will AND the two lists and decide that there are no occurrences of ACME INC. It is best to avoid STOP lists unless you are sure that this will not happen to you OR modify all calls to BTREE.EXTRACT to remove the STOP words. (Volume 2, Issue 7, Page 3) |
|||||||
| |||||||