搜索​​​​

清除过滤器
文章
Louis Lu · 十一月 2, 2021

IRIS 2021 技术文档 First Look 20 -- SQL 文本搜索

本文档向您介绍 InterSystems IRIS®数据平台对 SQL 文本搜索的支持,它为各种语言的非结构化文本数据提供语义上下文搜索。它涵盖了以下主题: 为什么 SQL 搜索很重要 InterSystems IRIS 如何实现 SQL 搜索 尝试 SQL 搜索 有关 SQL 搜索的更多信息 本文档介绍了 SQL 上下文感知文本搜索,并介绍了一些与索引文本数据相关的初始任务,以进行搜索和执行 SQL 搜索。一旦您完成了这个探索,您将在一个 SQL 列中为文本搜索建立索引,并执行几种类型的搜索。这些活动被设计为只使用默认设置和功能,以便您熟悉该功能的基本原理。有关 SQL 搜索的完整文档,请参见 SQL Search Guide(《SQL 搜索指南》)。 处理非结构化文本的一个相关但独立的工具是自然语言处理(Natural Language Processing,NLP)。SQL 搜索假定您知道要查找的内容。NLP 文本分析允许您在没有事先了解文本内容的情况下分析文本的内容 。 要浏览所有的技术概要(First Look),包括可以在 InterSystems IRIS 免费的评估实例上执行的那些,请参见 InterSystems First Looks(《InterSystems 技术概要》)。 为什么 SQL 搜索很重要 快速搜索非结构化文本数据的能力是访问许多公司和机构普遍存储的大量文本内容的基础。任何此类数据的搜索工具必须具有以下功能: 快速搜索:InterSystems IRIS SQL 搜索可以快速搜索大量的数据,因为它搜索的是生成的优化数据索引,而不是顺序搜索数据本身。 单词感知(Word-aware)搜索:SQL 搜索不是字符串搜索,它是基于文本中语义结构的搜索。SQL 搜索的最基本的语义结构是单词。这就减少了在字符串搜索中发现嵌入另一个单词中的字符串,或当字符串连接两个单词时产生的误报数量。 实体感知(Entity-aware)搜索:SQL 搜索考虑了多个单词,这些单词根据语义关系分组形成实体。因此,它可以搜索指定顺序(位置短语)中的多个单词、出现在彼此特定接近范围内的单词(无论顺序如何),以及在实体的开头或结尾找到的单词。这使您能够将搜索范围缩小到在其他单词的指定上下文中找到的一个单词(或短语)。 语言感知(Language-aware)搜索:识别单词之间的语义关系是基于语言的。SQL 搜索包含十种自然语言的语义规则(语言模型)。它还提供对其他语言的支持。它不需要创建或关联字典或本体。 模式匹配:SQL 搜索同时提供通配符匹配和正则表达式(RegEx)匹配,来匹配字符模式。 模糊匹配:SQL 搜索为近似匹配提供模糊搜索,这些搜索考虑了搜索字符串的计算变化程度。这使拼写错误的匹配成为可能。 派生匹配:SQL 搜索可以使用分解来匹配词根和组件词。SQL 搜索可以使用同义词表来匹配同义词和短语。 InterSystems IRIS 如何实现 SQL 搜索 SQL 搜索可以搜索在 SQL 表的列中发现的文本数据。为了做到这一点,您必须为包含文本数据的列创建一个 SQL 搜索索引。InterSystems 将表列实现为持久化类中的属性。 有三个级别的索引可用,每个级别都支持附加的功能以及较低级别的所有功能:基本(Basic)、语义( Semantic)和分析(Analytic): 基本(Basic)支持单词搜索和位置短语搜索,包括使用通配符、短语中单词之间的范围、正则表达式(RegEx)匹配和共同出现搜索。 语义(Semantic) 支持所有的基本功能,并且还支持 InterSystems IRIS 自然语言处理(NLP)实体。它可以搜索实体,以及以实体开头或以实体结尾的单词或短语。它能识别 NLP 的属性,比如否定。 分析(Analytic) 支持所有的语义(Semantic)功能,也支持 NLP 路径。它还可以根据 NLP 优势和接近度分数进行搜索。 填充索引。像所有的 SQL 索引一样,您可以在数据填充表之后直接构建索引,也可以在将记录插入空表时让 SQL 自动构建索引条目。无论哪种情况,SQL 都会自动更新此索引作为后续插入、更新或删除操作的一部分。 您执行 SQL 搜索,编写一个 SELECT 查询,其中的 WITH 子句包含 %ID %FIND search_index() 语法。search_index() 函数的参数包括 SQL 搜索索引的名称和搜索字符串。这个搜索字符串可以包括通配符、位置短语和实体语法字符。搜索字符串还可以包括 AND、OR 和 NOT 逻辑运算符。 尝试 SQL 搜索 使用 InterSystems IRIS SQL 搜索很容易。这个简单的程序将引导您完成搜索以字符串形式存储在 SQL 表列中的文本数据的基本步骤。 要使用该程序,您需要一个正在运行的 InterSystems IRIS 实例。您对 InterSystems IRIS 的选择包括多种类型的已授权的和免费的评估实例;该实例不需要在您正在工作的系统中(尽管它们必须相互具有网络访问权限)。关于如何部署每种类型的实例的信息(如果您还没有可使用的实例),请参见 InterSystems IRIS Basics: Connecting an IDE(《InterSystems IRIS 基础:连接一个 IDE》)中的 Deploying InterSystems IRIS(部署 InterSystems IRIS)。 您还将使用一个 IDE,如 VS Code 或 Studio,在实例中创建 ObjectScript 代码。有关设置这些 IDE 并将其连接到您的实例的说明,请参见 InterSystems IRIS Basics:Connecting an IDE(《InterSystems IRIS 基础:连接一个 IDE》)中的 Visual Studio Code 或 Studio。。 用前须知 要使用该程序,您需要一个正在运行的 InterSystems IRIS 实例。您对 InterSystems IRIS 的选择包括多种类型的已授权的和免费的评估实例;该实例不需要在您工作的系统中(尽管它们必须相互具有网络访问权限)。关于如何部署每种类型的实例的信息(如果您还没有可使用的实例),请参见 InterSystems IRIS Basics: Connecting an IDE(《InterSystems IRIS 基础:连接一个 IDE》)中的 Deploying InterSystems IRIS(部署 InterSystems IRIS)。 您还需要从 GitHub repo https://github.com/intersystems /Samples-Aviation 获得 Aviation.Event 表和相关文件。 下载和设置示例文件 Samples-Aviation 源(sources)必须可由实例访问。下载文件的程序取决于您所使用的实例类型,如下所示: 如果您使用的是 ICM 部署的实例: 使用带有 -machine 和 -interactive 选项的 icm ssh 命令,在托管实例的节点上打开默认 shell,例如: icm ssh -machine MYIRIS-AM-TEST-0004 -interactive 在 Linux 命令行上,使用以下命令之一将 repo 克隆到实例的数据存储卷(data storage volume)。例如,对于部署在 Azure 上的配置,数据卷的默认挂载点(default mount point)是 /dev/sdd,因此您可以使用如下命令: $ git clone https://github.com/intersystems/FirstLook-SQLBasics /dev/sdd/FirstLook-SQLBasics OR $ wget -qO- https://github.com/intersystems/FirstLook-SQLBasics/archive/master.tar.gz | tar xvz -C /dev/sdd 这些文件现在对容器文件系统上 /irissys/data/FirstLook-SQLBasics 中的 InterSystems IRIS 可用。 如果您正在使用通过其他方式部署的容器化实例(授权版或社区版(Community Edition)): 在主机上打开 Linux 命令行。如果您在云节点上使用社区版(Community Edition),请使用 SSH 连接该节点,如在 Deploy and Explore InterSystems IRIS(《部署和探索 InterSystems IRIS》)中所述。 在 Linux 命令行上,使用 git clone 或 wget 命令,如上所述,将 repo 克隆到容器中挂载为卷(mounted as a volume)的存储位置。 对于社区版(Community Edition)实例,您可以克隆到实例的持久化 %SYS 目录 (存储特定于实例的配置数据的目录)。在 Linux 文件系统中,这个目录是 /opt/ISC/dur。这使得文件对容器文件系统上 /ISC/dur/FirstLook-SQLBasics 中的 InterSystems IRIS 可用。 对于已授权的容器化实例,选择容器中作为卷挂载(mounted as a volume)的任何存储位置(如果使用它,包括持久化 %SYS 目录)。例如,如果您的 docker run 命令包含选项 -v /home/user1:/external,并且您将 repo 克隆到 /home/user1, 则文件对容器文件系统上 /external/FirstLook-SQLBasics 中的 InterSystems IRIS 可用。 如果您使用的是 InterSystems 学习实验室(Learning Labs)实例: 在集成 IDE 中打开命令行终端。 将目录更改为 /home/project/shared 并使用 git clone 命令克隆 repo: $ git clone https://github.com/intersystems/FirstLook-SQLBasics 该文件夹被添加到左边资源管理器(Explorer)面板的 Shared (共享)下,并且该目录对 /home/project/shared 中的 InterSystems IRIS 可用。 如果您使用的是已安装的实例: 如果实例的主机是安装了 GitHub 桌面(GitHub Desktop)的 Windows 系统: 在主机的 web 浏览器中进入 https://github.com/intersystems/Samples-Aviation。 选择 Clone or download(克隆或下载) ,然后选择 Open in Desktop(在桌面上打开)。 这些文件对您的 GitHub 目录中的 InterSystems IRIS 可用,例如在 C:\Users\User1\Documents\GitHub\FirstLook-SQLBasics 中。 如果主机是 Linux 系统,只需在 Linux 命令行上使用 git clone 命令或 wget 命令,就可以将 repo 克隆到您所选择的位置。 一旦您获得了示例文件,请按照"设置说明"下的 Samples-AviationREADME.md 文件中提供的步骤操作: 创建一个名为 SAMPLES 的命名空间,如下所示: 使用 InterSystems IRIS Basics:Connecting an IDE(《InterSystems IRIS 基础:连接一个 IDE》)中URL described for your instance(为您的实例描述的 URL),在浏览器中打开您的实例的管理门户(Management Portal)。 选择 System Administration(系统管理) > Configuration(配置) > System Configuration(系统配置) > Namespaces(命名空间) ,进入 Namespaces(命名空间)页面。 在 Namespaces(名称空间) 页面,选择 Create New Namespace(创建新的命名空间)。这将显示 New Namespace(新命名空间) 页面; 按照 System Administration Guide(《系统管理指南》) 中“Configuring InterSystems IRIS(《配置 InterSystems IRIS》)”章节中 Create/Modify a Namespace(创建/修改命名空间)中的说明使用此页面。 调用新的命名空间 SAMPLES。 选择靠近页面顶部的 Save(保存) ,然后在生成的日志末尾选择 Close(关闭)。 使 SAMPLES web 应用程序与 InterSystems IRIS 分析(Analytics) 一起使用: a.在管理门户(Management Portal)中,点击 System Administration(系统管理) > Security(安全) > Applications(应用程序) > Web Applications(web 应用程序)。 b.点击最左侧列中的 /csp/samples 链接(假设您创建的命名空间名为 SAMPLES)。 c.在 Enable(启用) 部分,选择 Analytics(分析)。 d.点击 Save(保存)。 使用 InterSystems IRIS Basics:Connecting an IDE( 《InterSystems IRIS 基础:连接一个 IDE》)中procedure described for your instance(为您的实例描述的程序)打开 InterSystems 终端(Terminal),并输入以下命令,更改加载示例的命名空间: set $namesapce="SAMPLES" 输入以下命令,将 .path 替换为包含您克隆或下载的 repo 的 README.md 和 LICENSE 文件的目录的完整路径: do $system.OBJ.Load("<path>\buildsample\Build.AviationSample.cls","ck") 输入以下命令: do ##class(Build.AviationSample).Build() 当出现提示时,输入包含 README.md 和 LICENSE 文件的目录的完整路径。然后,该方法加载和编译代码,并执行其他需要的设置步骤。 创建和测试一个基本的 SQL 搜索索引 一旦代码编译完成(可能需要一两分钟),继续执行以下步骤: 使用您选择的 IDE,通过在 SAMPLES 命名空间中定义以下类(class)来创建基本 SQL 搜索(Basic SQL Search)索引: Class Aviation.TestSQLSrch Extends %Persistent [DdlAllowed,Owner={UnknownUser},SqlRowIdPrivate, SqlTableName=TestSQLSrch ] { Property UniqueNum As %Integer; Property Narrative As %String(MAXLEN=100000) [ SqlColumnNumber=3 ]; Index NarrBasicIdx On (Narrative) As %iFind.Index.Basic(INDEXOPTION=0,LANGUAGE="en",LOWER=1); Index UniqueNumIdx On UniqueNum [ Type=index,Unique ]; } 这个示例创建了一个持久化类(表),其中包含一个 Narrative 属性(列),并为这个属性定义了一个基本 SQL 搜索(Basic SQL Search)索引。因为这是一个新类,所以您必须用文本数据填充表。 用文本数据填充表并构建 SQL 搜索索引。SQL 搜索索引的构建和维护与任何其他 SQL 索引一样。 并输入以下命令,以使用您下载的 Aviation.Event 表中的文本数据填充新表。在这个示例中,SQL 搜索索引是在添加每条记录时自动构建的: set $namespace = "SAMPLES" set in1="INSERT OR UPDATE INTO Aviation.TestSQLSrch (UniqueNum,Narrative) " set in2="SELECT %ID,NarrativeFull FROM Aviation.Event WHERE %ID < 100" set myinsert=in1_in2 set tStatement=##class(%SQL.Statement).%New() set qStatus=tStatement.%Prepare(myinsert) if qStatus'=1 {write "%Prepare failed:" DO $System.Status.DisplayError(qStatus) quit} set rset=tStatement.%Execute() write !,"Total rows inserted=",rset.%ROWCOUNT 出于性能的考虑,您可能希望使用 %NOINDEX 选项来推迟构建索引,直到表被完全填充,然后使用 %Build() 方法构建 SQL 搜索索引(和任何其他定义的索引)。 或者,您可以在已经包含文本数据的现有持久化类中添加 SQL 搜索索引,然后使用 %Build() 方法填充 SQL 搜索索引。 在终端(Terminal)中打开一个 SQL Shell,如在 First Look:InterSystems SQL(《技术概要:InterSystems SQL》)中 Creating and Populating a Table With a SQL Script File(使用 SQL Script 文件创建和填充表)的前几个步骤中所述,并使用 SQL 搜索作为 SELECT 查询的 WHERE 子句条件。WHERE 子句可以包含由 AND 逻辑关联的其他条件。在 SAMPLES 命名空间运行以下 SQL 查询: SELECT %iFind.Highlight(Narrative,'"visibility [1-4] mile*" AND "temp* ? degrees"') FROM Aviation.TestSQLSrch WHERE %ID %FIND search_index(NarrBasicIdx,'"visibility [1-4] mile*" "temp* ? degrees"',0,'en') Search_index() 函数指定了一个 search_index 参数。这是为要搜索的属性(列)定义的 SQL 搜索索引。它可以是一个基本(Basic)、语义(Semantic)或分析(Analytic)索引。 Search_index() 函数指定了一个 search_item 参数。 这个示例将 search_item 定义为 "visibility [1-4] mile*" "temperature ? degree*"。这将以任意顺序返回包含两个位置短语的所有记录: "visibility [1-4] mile*"返回单词“visibility”和“mile”之间有 1 到 4 个单词的短语。 因为 mile* 指定了一个通配符,它可以匹配 mile 或 miles。例如,"visibility less than 1 mile ","visibility 10 miles ","visibility approximately 20 statute miles","visibility for many miles"。 "temp* ? degrees"返回以 "temp "开头、以 0 个或更多非空格通配符结尾的单词,一个缺失的单词,然后是单词"degree"的短语。因此,它将返回带有 短语 "temperature 20 degrees","temp. 20 degrees","temperature in degrees",以及(可能是无意的)"temporarily without degrees"。 search_index() 函数可以选择性地指定一个 search_option 参数。 该选项可以对搜索应用可选转换,如下所示:1=词干搜索应用词干匹配词或短语基于他们的词干形式。2=分解搜索将分解应用于复合词。3=模糊搜索将指定的模糊程度(字符差异的数量)应用于搜索。4=正则表达式搜索允许使用 RegEx 匹配进行搜索。这个示例指定了默认值 0,意味着没有搜索转换。 Search_index() 函数可以选择性地指定一个 search_language 参数。您可以指定一种语言,或指定'*'来调用自动语言识别,支持搜索包含多种语言的文本。这个示例指定默认值'en'(英语)。 这个示例还通过将相同的 search_item 应用于返回的记录来突出显示返回的文本。这通过使用 <b> 和 </b> 标签为它们定界来突出这两个短语的每一个实例。 提供这个示例是为了让您初步体验 InterSystems IRIS SQL 搜索。您不应该将这个示例作为开发真正的应用程序的基础。要在实际情况下使用 SQL 搜索,您应该充分研究软件提供的可用选择,然后开发您的应用程序以创建健全和高效的代码。 了解有关 SQL 搜索的更多信息 InterSystems 还有其他参考资料可以帮助您了解有关 SQL 搜索的更多信息,包括: Using InterSystems SQL Search(《使用 InterSystems SQL 搜索》)

#InterSystems IRIS

856 帖子3 关注者

#InterSystems 官方

26 帖子4 关注者

#InterSystems报表

4 帖子0 关注者

#InterSystems IntelliCare

0 帖子0 关注者
公告
Claire Zheng · 八月 19, 2021

InterSystems开发者竞赛:InterSystems IRIS Analytics

亲爱的社区开发者们,大家好! 欢迎积极参与新一轮InterSystems开发者竞赛! 🏆 InterSystems开发者竞赛:InterSystems IRIS Analytics 🏆 竞赛时间:2021年8月23日-9月12日 奖金总额: $8,750 登录页面即可参赛: https://contest.intersystems.com 奖项设置 1. 专家提名奖(Experts Nomination)- 获奖者由我们特别挑选的专家团选出: 🥇 第一名 - $4,000 🥈 第二名 - $2,000 🥉 第三名 - $1,000 2. 社区提名奖(Community Nomination)- 获得总投票数最多的应用: 🥇 第一名 - $1,000 🥈 第二名 - $500 🥉 第三名 - $250 如果同时多位参赛者获得同样的票数,均被视为优胜者,将平分奖金 谁可以参加? 任何开发者社区的成员均可参加,InterSystems内部员工除外(InterSystems contractor员工可以参加)。还没有账号?现在来建一个! 👥 开发者可以组团 创建一个协作应用程序,组团限定人数为2-5人。 请注意,要在您的README文件中标注您的团队成员——社区用户profile 参赛时间安排 🛠 8月23日 - 9月5日: 应用开发、提交阶段 ✅ 9月 6日 - 12日: 投票阶段 注意:在整个参赛期间(开发与投票期间,即8月23日-9月12日),开发者可持续编辑、提升其应用 主题 💡 应用InterSystems IRIS开发分析解决方案(Analytics Solution) 💡 使用一个或多个InterSystems IRIS分析功能,如: Adaptive Analytics 自适应分析(AtScale) InterSystems Reports (Logi) InterSystems BI (DeepSee) InterSystems NLP (iKnow) 创造一个简单的、引人注目的、清晰的可视化产品和/或故事。 以下是参赛须知: 有效应用程序:100%全新的Open Exchange Apps或已有的应用程序(但有显著提升)。所有参赛者/团队提交的应用程序只有经过我们团队的审核之后才会被批准参赛。 该应用应该在 IRIS Community Edition or IRIS for Health Community Edition or IRIS Advanced Analytics Community Edition 上工作。 该应用需开源并在GitHub上发布。 该应用的README文件应为英文,包含安装步骤,并包含视频demo或/和应用程序如何运行的描述。 资源助力 1. 示例应用程序和说明: 1.1. Adaptive Analytics(自适应分析): Adaptive Analytics in Action (视频) 1.2 InterSystems报告: A look at InterSystems Reports (视频) InterSystems Reports Resource guide Running InterSystems Reports in containers IRIS reports server demo (OEX) 1.3 IRIS BI 案例: IRIS Analytics Template Samples BI Covid19 analytics Analyze This Game of Throne Analytics Pivot Subscriptions Error Globals Analytics Creating InterSystems IRIS BI Solutions Using Docker & VSCode (视频) The Freedom of Visualization Choice: InterSystems BI (视频) InterSystems BI(DeepSee) Overview (线上课程) InterSystems BI(DeepSee) Analyzer Basics (线上课程) 1.4 InterSystems NLP (iKnow): iKnow Source Code Samples Aviation Set Analysis iKnow First Look (线上课程) 2. Sample数据: Hole Foods database for IRIS BI (与SamplesBI包一起安装) Adventure Works, zip Synthea 3. 将数据导入IRIS的工具: CSVGEN and CSVGENUI S3 External Table 4. IRIS初学者 Build a Server-Side Application with InterSystems IRIS Learning Path for beginners 5. 如何将您的APP提交给大赛 如何在InterSystems Open Exchange上发布应用程序 如何把参赛APP提交给大赛 参赛评比 投票规则即将发布,敬请期待! So! 期待您的精彩提交!加入我们的编程马拉松,赢取大奖 ❗️ 点击此处,查看 官方竞赛条款解读❗️
文章
Qiao Peng · 八月 23, 2022

InterSystems 常用术语

任何技术总是有些自己独特的术语,尤其是一些英文术语,对于新的用户来说往往即陌生又迷惑。这里整理了一下常听到的InterSystems术语,帮助大家尽快进入InterSystems技术圈子。 名词 说明 Arbiter 仲裁器。用于在mirror高可用集群里辅助判断主备机成员状态,提高高可用集群的有效性 Atelier InterSystems开发的基于Eclipse的IDE,可以单独部署、也可以嵌入Eclipse bitmap索引 位图索引。以位图方式保存的枚举类型数据的索引,用于高性能查询 bitslice索引 位片索引。用位图方式对数值型数据建立的索引,用于高性能查询 Buttons Cache'数据库上的诊断报告工具。历史上,InterSystems曾经提供一个routine,名为^Buttons,用于收集系统数据用于诊断。虽然后来这个工具已经被放在%SYS.Task.DiagnosticReport类中,但大家还是习惯称之为buttons cconsole log Cache'数据库的控制台日志文件,记录通用信息、系统错误、特定操作系统错误、网络错误等。它含有非常重要的系统诊断信息 CPF InterSystems数据平台的参数配置文件(Configuration Parameter File), 文件后缀为cpf CSP Cache' Server Page的缩写,它是InterSystems数据平台提供的服务器端网页技术 CSP gateway 部署在网络服务器上的、用于和后台InterSystems Cache'数据平台通讯的组件,它由InterSystems提供 deamon InterSystems数据平台的后台关键进程,例如写进程、journal进程等 DeepSee InterSystems Cache'数据库提供的内嵌式BI工具,不用迁移数据即可对事务型数据进行BI分析。在InterSystems IRIS中改名为InterSystems Analytics dejournal 将数据库操作日志Journal中的记录重新执行的过程 dejournal filter 在数据库操作日志Journal中的记录重新执行的过程中,对记录进行事先过滤的过滤器代码 dismount 数据库卸载 ECP ECP是InterSystems企业缓存协议(Enterprise Cache Protocol)的缩写。ECP是InterSystems高性能集群架构协议,简称ECP集群,由数据服务器和应用服务器组成。应用服务器缓存数据服务器的数据,对客户端提供媲美内存数据库性能的访问效率 Embedded SQL 嵌入式SQL,在ObjectScript中直接使用SQL语言的特性 Global Buffers 数据缓存 global mapping 将数据库的global映射到特定命名空间,从而使其在命名空间中可以被访问 IAM InterSystems API管理器。它是一个容器化的API全生命周期管理的独立组件 ICM InterSystems的云管理器,用于对云部署的InterSystems数据平台集群进行配置、管理和运维 iKnow InterSystms Cache'数据库上的自然语言处理技术。在InterSystems IRIS上已经改名为InterSystems IRIS Natural Language Processing (NLP) Instance 一个安装好的InterSystems Cache'/Ensemble/Health Connect/IRIS实例 Journal Journal是InterSystems数据平台产生的数据操作日志。它被用于保证数据一致性、高可用、灾备等多种场景,是非常重要的数据库特性 License 授权文件,用于激活InterSystems产品 License服务器 在InterSystems数据平台集群部署时,把授权文件集中部署在一台服务器上供集群分享。这台服务器称之为license服务器 messages log InterSystems IRIS数据平台的控制台日志文件,记录通用信息、系统错误、特定操作系统错误、网络错误等。它含有非常重要的系统诊断信息 Mirror InterSystems镜像技术,这是一个高可用的技术。通过主服务器与镜像备用服务器间的同步操作日志(journal)来保持数据一致,并在故障时自动切换。Mirror不依赖共享存储和操作系统级的故障转移能力,提供低成本的、秒级的切换 mirror同步成员 用于高可用的一对mirror实例,它们之前保持强同步 mirror异步成员 用于高可用目的之外的mirror实例,它们与主机保持弱同步,可以用于灾备、报告与查询等目的 mount 数据库加载 M语言 M语言是MUMPS(Massachusetts General Hospital Utility Multi-Programming System)语言的简称。MUMPS在马塞诸塞州总医院开发,是一个基于多维模型数据库的高性能事务处理语言。InterSystems是M语言的早期厂商之一,后来通过收购兼并了市场上主要的M厂商。InterSystems目前自己的ObjectScript语言与M语言有非常大的差异,例如支持面向对象,因此并非一种语言 namespace 命名空间。 InterSystems数据平台的逻辑工作平台,包括保存在不同数据库的数据和代码 ObjectScript InterSystems的对象脚本语言,这是一个弱类型的面向对象语言 Package mapping 数据包映射。将数据库的类包映射到特定命名空间,从而使其在命名空间中可以被访问 pButtons Cache'数据库上的性能监控工具。它是一个routine, 名为^pButtons。由于Cache'数据库庞大的安装基数,即便在InterSystems IRIS新一代数据平台上性能监控工具已经改名为^SystemPerformance,大家还是习惯称系统自带的性能监控工具为pButtons routine 用ObjectScript编写的非OO的服务器端程序 routine mapping 将数据库的routine映射到特定命名空间,从而使其在命名空间中可以被访问 SAM InterSystems的系统告警与监控管理器。它是一个容器化的独立组件 Shadow 在Mirror技术之前的InterSystems数据同步机制。通过在Shadow主备机之间传递Journal来实现备机对主机的数据同步。它不是严格意义上的高可用方案 sharding 数据分片。通过将一个大数据集拆分成若干小的数据分片,提供横向可扩展的访问机制 SMP 系统管理门户。它是随InterSystems数据平台安装的用于后台管理与开发的Web应用,最常用的后台管理应用 Studio InterSystems开发的IDE,运行在Windows操作系统上 superserver 超级服务器,InterSystems数据平台实例监听特定端口,并分配给后台子系统,它称之为超级服务器。默认的监听端口时1972 Web网关 部署在网络服务器上的、用于和后台InterSystems IRIS数据平台通讯的组件,它由InterSystems提供 WIJ write image journaling的缩写,是InterSystems数据平台在写后台进程将数据更新完全写入数据库文件前,保证数据一致性、降低硬件故障造成的数据风险的机制 ZEN Zen是InterSystems Cache'数据库提供的组件化的网页应用架构 Tune table 调优表。是InterSystmes 数据平台提供的对SQL数据进行统计的分析工具和分析过程。调优表采集的统计数据会被用于SQL编译器对SQL语句进行执行优化 私有Apache InterSystems数据平台安装时,会自动安装一个私有的Apache,用于支撑其管理门户网页应用,同时方便其开放的网页应用、SOAP服务、RESTful API等基于HTTP服务的测试与调试。私有Apache功能不完整,不应用于发布InterSystems数据平台上基于HTTP的服务,应该独立部署完整功能的网络服务器 虚拟文档 InterSystems数据平台上,将非结构化数据以对象方式操作的技术。支持XML、以分隔符分隔的字符串等非结构化数据 资源 InterSystems数据平台用于基于权限保护的对象,称之为资源。它包含被保护对象和需要的权限,例如对数据库User的读权限,就是一个资源 镜像 同Mirror 专业

#InterSystems IRIS for Health

842 帖子0 关注者

#InterSystems 想法门户

22 帖子0 关注者

#InterSystems IRIS FAQ

0 帖子0 关注者

#InterSystems Demo Games

0 帖子0 关注者
文章
Michael Lei · 四月 4, 2023

InterSystems SQL 小妙招

嗨开发者们! 如您所知,InterSystems IRIS 除了Global、对象、文档和 XML 数据模型还支持关系,其中 SQL 语言也被用来处理数据。 与其他关系型 DBMS 一样,InterSystems IRIS 有自己的特点。 我开始这篇文章是为了抛砖引玉,并邀请您分享您的小诀窍 - 我会根据收到的评论更新内容。 开始了! 列出数据库中的所有表: SELECT TABLE_SCHEMA, TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE= 'BASE TABLE' 感谢@Dmitry.Maslennikov 使用当前日期和当前时间作为默认值创建表: CREATE TABLE CUSTOMER ( ID INTEGER PRIMARY KEY NOT NULL , NAME VARCHAR ( 100 ) NOT NULL , PASSWORD VARCHAR ( 20 ) NOT NULL , LAST_UPDATED TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL , REGISTRATION_DATE DATE DEFAULT CURRENT_DATE NOT NULL ); 注意不带括号的函数 CURRENT_TIMESTAMP 和 CURRENT_DATE。 创建在内部使用 ObjectScript 的存储过程/函数: CREATE OR REPLACE FUNCTION IRIS_VERSION() RETURNS VARCHAR LANGUAGE OBJECTSCRIPT { Return $ZV } 调用存储过程/函数: select IRIS_VERSION() as "Version" 调用内部函数。 返回 IRIS 版本: Select $ version 返回当前命名空间: Select $namespace 欢迎大家在评论区留下你的小妙招! 分页查询: select top :row * from PatientInfo where id not in (select top 10(:page-1) id from PatientInfo order by id asc) order by id
文章
Jingwei Wang · 六月 8, 2023

使用InterSystems Integrated ML

数据分集 (测试数据可以在网上下载 https://catalog.data.gov/dataset/) 1. 创建训练集,80%用于训练集。 CREATE TABLE DataMining.DiabetesTraining AS SELECT top 641 Pregnancies, Glucose, BloodPressure, SkinThickness, Insulin,BMI, Age, Outcome from DataMining.DSTable order by ID 2. 创建测试集,20%用于测试集。 CREATE TABLE DataMining.DiabetesTest AS SELECT top 127 Pregnancies, Glucose, BloodPressure, SkinThickness, Insulin, BMI,Age, Outcome from DataMining.DSTable order by ID DESC Integrated ML 1. 创建ML配置 此步骤用来配置Provider 及不同Provider所使用的配置参数。 InterSystems IRIS提供三种Provider,AutoML、H2O和DataRobot,本实验使用默认Provider - AutoML ,所以可以忽略创建ML配置步骤。如果想尝试开源工具H2O,可以在此实验完成后,按照扩展实验手册进行配置。 2. ML配置 SET ML CONFIGURATION %AutoML 此步骤是用来确定选用的Provider,AutoML是系统自带的Provider。 3. 建模 CREATE MODEL DiabetesModel PREDICTING (Outcome) FROM DataMining.DiabetesTraining DiabetesModel 为模型名称 (模型名称可随意设置)。 DataMining.DiabetesTraining 为糖尿病患者预测模型的训练数据集。 Outcome 为要预测的结果的列名。 4. 训练模型 TRAIN MODEL DiabetesModel DiabetesModel为模型名称。 5. 验证模型 VALIDATE MODEL DiabetesModel FROM DataMining.DiabetesTest DataMining.DiabetesTest为糖尿病患者预测模型的测试集。 6. 查看模型信息 SELECT * FROM INFORMATION_SCHEMA.ML_TRAINED_MODELS 在返回的数据PROVIDER列中,可以或者 在返回的数据MODEL_INFO列中,可以获得ModelType 算法名称, Package 机器学习处理包, ProblemType 算法类型等结果。 6. 查看验证结果 SELECT * FROM INFORMATION_SCHEMA.ML_VALIDATION_METRICS 可以获得Accuracy,Precision,Recall 和 F-Measure 计算结果。 现在,你可以通过Accuracy,Precision,Recall 和 F-Measure 来分析你的模型训练结果。如果训练模型准确率较低,可以重新训练数据集。 7. 查看测试集的预测结果和真实结果 SELECT PREDICT(DiabetesModel) AS PredictedDiabetes, Outcome AS ActualDiabetes FROM DataMining.DiabetesTest 8. 删除模型 DROP MODEL DiabetesModel
文章
Michael Lei · 五月 26, 2021

Intersystems IRIS 安装手册

https://www.intersystems.com/isc-resources/wp-content/uploads/sites/24/InterSystems-IRIS%E6%95%B0%E6%8D%AE%E5%B9%B3%E5%8F%B0%E5%AE%89%E8%A3%85%E6%8C%87%E5%8D%97-20200531.pdf 怎么访问不了呢,404 最新版安装指南请参考:Linux 系统IRIS安装总结 谢谢,我问下有虚拟机分区的部分,应该怎么分区呢 看您是什么操作系统,Linux的话可以用fdisk命令进行分区。