AnsweredAssumed Answered

Enhanced Search

Question asked by MichaelVoccola on Jul 30, 2014
Latest reply on Jul 31, 2014 by philmodjunk


Enhanced Search


     Utilizing the "perform find" and "constrain found set" steps in a search script. The target is a calculation field with various other fields separated by carriage returns. I am currently using a match phrase from anywhere criteria to find the records.


     The issue is presented when the search query is multiple words that do not necessarily have a particular order. For example, I might want to find a record based on values in several fields based on several words in the query:

     Example query: audio yamaha 32ch

     a) Is it possible to break the query down into essentially a list of values, with each new value beginning at word start in the text string?

     b) Once the query is broken down into values and defined as a variable in the script, is the find criteria still essentially the same, with records being found when:  TargetRecord::cFilterTarget = *"$SearchQuery"

     c) I may elect to take a particular field in the target records, like the description, and break that text string down into a similar value list to include in the FilterTarget field, does this change anything in regards to the structure of the find request?

     d) Would it faster to use PerformScriptOnServer()  containing an ExecuteSQL() script step to return TargetRecords::RecordID to the client in a variable as a list, set a global field as that variable and navigate to the related records, or are ExecuteSQL() steps performed on the server if the target table is not the current table on the client?

     Note: This is being done on a relatively large database remotely hosted. Speed is as much of a priority as relevant search results and the current speed of the search (performed on the client) without this additional functionality is already on the border of being considered too slow.