不创建 %iFind.Index.Basic 的 class 索引的动态 iFind 索引

Dynamic iFind Index without creating class Index of %iFind.Index.Basic

我正在尝试使用 %iFind.Index.Basic.

制作通用文本搜索功能

根据 iFind Search Tool 文档,必须在 Class 中创建 iFind 索引,如下所示:

Class Aviation.TestSQLSrch Extends %Persistent[...] 
{
...
Index NarrBasicIdx On (Narrative) As %iFind.Index.Basic(INDEXOPTION=0,
     LANGUAGE="en",LOWER=1);
...
}

但这只适用于一个单一的字段class而已。

如果要普遍使用iFind的搜索功能,那么需要对大量的字符串字段进行索引,既费内存又不实用。

是否可以按需动态地进行 iFind 索引而不需要更改 Class,并且仍然可以使用 ##Class(%ResultSet) 进行查询?

在文档中,它还提到了索引一个JSON对象,但没有给出示例。这是我应该进一步探索的地方吗?

使用iFind,您首先需要创建一个索引并在执行任何查询之前构建它(这里没有动态,只要它是index-based)。

如果你想要更通用的东西,也许你应该使用其他一些 Text Analytics options as NLP (Natural Language Processing)