iFind index normalizing queries/deleting idex/TFIDF scores


In the documenations at this location http://docs.intersystems.com/enscomm20152/csp/documatic/%25CSP.Documatic..., the normalize method applies normalizaion for text using the defined manguage and dictionary.

I want to normalize my iFind queries. How can I use the normalize method ? any code sample ? 

I want also to delete properly the iFind index. Deleting all the rows in the table is sufficient ? 

When quering iFind is it possible to get also TFIDF scores ? any code sample for this ?


Thank you for the help.

  • 0
  • 0
  • 183
  • 1
  • 0


Hi Jack,

there's no need to normalize your search strings, as it's take care of automatically as part of executing your search when appropriate.

When you use DELETE FROM in SQL, or ##class(Your.Table).%DeleteExtent() in COS, the associated iFind indices' data will be erased as well. To drop just the indices data, use ##class(Your.Table).%PurgeIndices() (cf class ref for refinements). Note that, unless you are using index-local storage (new feature in 2016.1), the words and entities tables will not be wiped as they are shared between all iFind indices in your namespace (somewhat conserving space and indexing efficiency).

iFind can calculate a score representing how well a record satisfies a search string, largely based on TFIDF (although it'll leverage the more refined dominance scores for entities when it can). This is also new in 2016.1. See https://community.intersystems.com/code/ifind-search-portal for an example.