文章 Michael Lei · 九月 18, 2023 阅读大约需 6 分钟 开发者作品展示--几乎实现的向量支持 如今,关于大语言模型、人工智能等的消息不绝于耳。向量数据库是其中的一部分,并且已经有非IRIS的技术实现了向量数据库。 为什么是向量? 相似性搜索:向量可以进行高效的相似性搜索,例如在数据集中查找最相似的项目或文档。传统的关系数据库是为精确匹配搜索而设计的,不适合图像或文本相似性搜索等任务。 灵活性:向量表示形式用途广泛,可以从各种数据类型派生,例如文本(通过 Word2Vec、BERT 等嵌入)、图像(通过深度学习模型)等。 跨模态搜索:向量可以跨不同数据模态进行搜索。例如,给定图像的向量表示,人们可以在多模式数据库中搜索相似的图像或相关文本。 还有许多其他原因。 因此,对于这次 pyhon 竞赛,我决定尝试实现这种支持。不幸的是我没能及时完成它,下面我将解释原因。 ##嵌入式 Python #Docker #Git #JDBC #ObjectScript #ODBC #Python #SQL #Vector Search #InterSystems IRIS Open Exchange app 0 0 0 75
文章 姚 鑫 · 八月 19, 2023 阅读大约需 1 分钟 第三章 IRIS 编程简介 - SQL 第三章 IRIS 编程简介 - SQL SQL IRIS 提供了 SQL 的实现,称为 SQL。可以在方法和例程中使用 SQL。 从 ObjectScript 使用 SQL 可以使用以下一种或两种方式从 ObjectScript 执行 SQL: #InterSystems IRIS for Health 1 0 0 75
文章 姚 鑫 · 八月 8, 2023 阅读大约需 3 分钟 第十六章 定义 HL7 的 DTL 数据转换 - 转换长段字段 第十六章 定义 HL7 的 DTL 数据转换 - 转换长段字段 转换长段字段 DTL 转换使用的 ObjectScript 方法 GetValueAt 将 HL7 段字段截断为 3.6MB。因此,当转换长度超过 3.6MB 的字段时,无法在 DTL 编辑器中使用从左到右的拖动操作。例如,如果 OBX:5 字段超过 3.6MB,则无法使用 DTL 编辑器将源字段拖动到目标,因为它将被截断。同样,如果要转换的字段长度超过 3.6MB,则自定义代码不应调用 GetValueAt。 #InterSystems IRIS for Health 0 0 0 75
文章 姚 鑫 · 六月 14, 2023 阅读大约需 4 分钟 第五十七章 镜像中断程序 - 在手动故障转移之前确定备份是否处于活动状态 第五十七章 镜像中断程序 - 在手动故障转移之前确定备份是否处于活动状态 在手动故障转移之前确定备份是否处于活动状态 假设有两个名为 IRIS A 和IRIS B 的故障转移成员。如果 ^MIRROR 例程确认备份 (IRIS B) 在与主 (IRIS A) 丢失联系时处于活动状态,因此具有最新的来自 IRIS A 的日志数据,可以使用单个过程手动进行故障转移。当连接因主要故障而丢失时,不会造成数据丢失的风险。但是,当发生多个故障时,活动备份可能没有来自主服务器的所有最新日志数据,因为主服务器在连接丢失后继续运行了一段时间。 使用以下过程确定备份是否处于活动状态: #InterSystems IRIS for Health 1 0 1 75
文章 姚 鑫 · 六月 9, 2023 阅读大约需 2 分钟 第三十章 开发Productions - ObjectScript Productions - 定义业务操作 - 调用适配器方法 第三十章 开发Productions - ObjectScript Productions - 定义业务操作 - 调用适配器方法 调用适配器方法 最常见的是,业务操作不包含用于与外部系统通信的逻辑。相反,业务操作使用处理此逻辑的出站适配器。一旦业务操作与出站适配器相关联,它就会调用适配器的方法来发送和接收数据。有关调用适配器方法的详细信息,请参阅从业务主机访问属性和方法。 向生产中的目标发送请求 尽管业务操作主要负责向特定的外部应用程序传递请求,但它也可以根据需要向其他业务操作或业务流程发送消息。要将消息发送到生产中的目标,请调用 SendRequestSync()、SendRequestAsync() 或 SendDeferredResponse()。 Ens.BusinessOperation 定义了一个可以使用的附加方法:DeferResponse()。 #InterSystems IRIS for Health 0 0 0 75
文章 姚 鑫 · 五月 5, 2023 阅读大约需 6 分钟 第四十九章 管理镜像 - 停止备份和异步成员的镜像 第四十九章 管理镜像 - 停止备份和异步成员的镜像 停止备份和异步成员的镜像 可以暂时停止在备份或异步成员上进行镜像。例如,可能希望在短时间内停止备份成员上的镜像以进行维护或重新配置,或者在主数据库维护期间停止镜像,并且可能暂时停止报告异步成员上的镜像以减少网络使用。为此,请执行以下操作: 导航到要停止镜像的成员的“系统操作”>“镜像监控”页面 如果该成员是备份故障转移成员,请单击停止在此成员上镜像按钮。 如果该成员是异步成员,请单击希望异步停止镜像的镜像所在行中的“在此成员上停止镜像”链接。 (停止一个镜像的镜像不会影响报告异步所属的其他镜像。) 该操作需要几秒钟。当刷新镜像监视器时,“在此成员上停止镜像”将替换为“在此成员上开始镜像”,可以使用它来恢复镜像。 重要提示:当停止对某个成员进行镜像时,镜像将保持停止状态,直到如前所述再次明确启动它。镜像的重新初始化或成员的重新启动都不会在成员上启动镜像。 #InterSystems IRIS 0 0 0 75
问题 liu jun · 二月 7, 2023 Why does the IRIS mirror connection cause serious network timeout? After the image is disconnected, the network returns to normal Why does the IRIS mirror connection cause serious network timeout? After the image is disconnected, the network returns to normal #InterSystems IRIS 0 1 0 74
公告 Jingwei Wang · 一月 26, 2023 通过基于任务的学习资源增加您的知识 使用学习服务中的一系列资源制定您今年的学习目标。在2023 年 1 月简报中,了解如何找到与您的工作任务相关的有针对性的学习资源,并通过课堂课程或练习题为认证做准备。 #学习门户 1 0 0 75
文章 姚 鑫 · 十月 1, 2022 阅读大约需 2 分钟 第三章 Caché 服务器页面简介 - 通过 cls 创建 csp 页面 第三章 Caché 服务器页面简介 - 通过 cls 创建 csp 页面 创建第一个 CSP 页面 本节介绍如何以两种不同的方式创建 Hello, World CSP 页面: 创建基于类的 CSP 页面 通过创建 %CSP.Page 的子类并覆盖其 OnPage 方法来创建 CSP 页面。通过此方法写入主设备的任何输出都会自动发送到 Web 浏览器并显示为网页。 #CSP #Caché 1 0 0 75
问题 water huang · 九月 25, 2022 通过xsd文件验证xml 我有一个xsd文件,它定义了xml的结构,现在别人要传给我xml,我想通过它验证xml结构是否正确,这个在m里面是怎么使用的? #XML #Ensemble 0 2 0 73
问题 sun yao · 七月 1, 2022 %XML.XPATH.Document的CreateFromFile方法 解析https的webService服务报错 unsupported protocol %XML.XPATH.Document中CreateFromFile方法,pSource入参传https开头的webService地址,解析报错“错误 #6901: XSLT XML转换器错误: unsupported protocol in URL in at line 0 offset 0” #Ensemble 1 1 0 74
文章 Michael Lei · 五月 30, 2022 阅读大约需 1 分钟 部分IRIS 2022 年度编程大奖赛作品展示——基于红帽Openshift 容器平台的IRIS 互操作消息处理测试软件 我的团队在在红帽OpenShift容器平台上运行IRIS互操作性解决方案。我想在数据被存储在Mirror的数据pods中的情况下,测试运行中的webgateway pods和计算节点 pods能处理多少消息。 为了增加测试难度,我部署了多个feeder容器,并在每个feeder上安排了任务,以在同一时间发送大量的消息。为了进入下一阶段的测试,我希望有多种类型的测试文件可以按需使用。我创建了test-data应用程序,能够请求生成大量的多种类型的文件。 我早期的一些测试依赖于复制一个样本文件和处理它。这在一次只复制一份的情况下效果不错。为了获得同一样本文件的许多副本,MakeFile函数获取一个样本文件、保存其副本、并以唯一的时间戳进行重命名。MakeFiles函数有一个参数,用于确定要制作的文件数量。 我找到了一个样本文件,它的输入和输出都是带分隔符和固定符的。我把它包含在我的应用程序中,并添加了一个转换来操作测试数据文件。在这种情况下,我把测试文件中的识别ID号替换成在一个类方法中生成的识别ID号,并且是随着文件而递增的。 我想在处理后审查测试文件中的数据,我喜欢看到一系列有顺序的数字,而不是一系列随机数字。 #竞赛 #InterSystems IRIS #Open Exchange Open Exchange app 0 0 0 75
文章 姚 鑫 · 四月 24, 2022 阅读大约需 2 分钟 第122章 SQL函数 RTRIM 第122章 SQL函数 RTRIM 字符串函数,它返回一个删除了尾随空格的字符串。 #SQL #Caché 0 0 0 75
文章 姚 鑫 · 一月 5, 2022 阅读大约需 3 分钟 第十五章 SQL窗口函数概述(二) 第十五章 SQL窗口函数概述(二) ROW子句 ROW子句可以与FIRST_VALUE(字段)和SUM(字段)窗口函数一起使用。 可以为其他windows函数指定它,但不执行任何操作(有或没有ROWS子句的结果相同)。 ROWS子句有两种语法形式: ROWS framestart ROWS BETWEEN framestart AND frameend Framestart和frameend有五个可能的值: #SQL #Caché 0 0 0 75
文章 姚 鑫 · 九月 11, 2021 阅读大约需 3 分钟 第十三章 SQL命令 CREATE ROLE 第十三章 SQL命令 CREATE ROLE 创建角色 大纲 CREATE ROLE role-name 参数 role-name - 要创建的角色的名称,它是一个标识符。角色名称不区分大小写。 描述 CREATE ROLE命令可创建角色。角色是可以分配给多个用户的一组命名权限。一个角色可以分配给多个用户,一个用户可以分配多个角色。角色在系统范围内可用,它不限于特定的命名空间。 #API #SQL #Caché 0 0 0 75
文章 Claire Zheng · 九月 2, 2021 Caché从零基础到精通-第22讲 Do命令 //player.bilibili.com/player.html?aid=975150747&bvid=BV1x44y1C7qP&cid=400717734&page=1[这是一个嵌入式链接,但由于您拒绝了访问嵌入式内容所需的 Cookie,您无法直接在网站上进行查看。要查看嵌入式内容,您需要在 Cookie 设置中接受所有 Cookie。] #视频 #Caché 0 0 0 75
文章 Louis Lu · 六月 10 阅读大约需 2 分钟 类定义中如何使用列式存储 列式存储是 InterSystems IRIS 提供的一项较新的技术。与传统的基于行的存储不同,它通过将数据存储在列而不是行中来优化查询处理,从而实现更快的访问和检索相关信息。 下面是使用SQL创建此类表的例子 #InterSystems IRIS 1 0 0 74
文章 Hao Ma · 三月 20 阅读大约需 2 分钟 IRIS/Caché SQL优化经验分享 - 复合索引的使用 复合索引(combined index)也被称为组合索引或者联合索引,顾名思义,就是一个索引建立在多个字段上。当用这些字段为条件查询时,相比对每个字段单独做索引,复合索引能给出很好的性能,还能减少索引的数量。 为什么能减少索引的数量? 通常来说,也就是在其他数据库,联合索引符合”最左匹配“的原则。在BING上搜索“复合索引,得到的第一个搜索结果的这篇文章就说的就很简单明了: 下面这个SQL语句在 列X,列Y,列Z 上建立了一个复合索引。 mysql CREATE INDEX 索引名 ON 表名(列名X, 列名Y, 列名Z); 其实这相当于建立了三个索引,分别是: #SQL #新手 #InterSystems IRIS 0 0 0 74
文章 Jingwei Wang · 二月 15 阅读大约需 4 分钟 使用嵌入式 Python 和 OpenAI API 在 IRIS 中进行数据标签 大型语言模型(例如 OpenAI 的 GPT-4)的发明和普及掀起了一波创新解决方案浪潮,这些解决方案可以利用大量非结构化数据,在此之前,人工处理这些数据是不切实际的,甚至是不可能的。此类应用程序可能包括数据检索(请参阅 Don Woodlock 的 ML301 课程,了解检索增强生成的精彩介绍)、情感分析,甚至完全自主的 AI 代理等! 在本文中,我想演示如何使用 IRIS 的嵌入式 Python 功能直接与 Python OpenAI 库交互,方法是构建一个简单的数据标记应用程序,该应用程序将自动为我们插入IRIS 表中的记录分配关键字。然后,这些关键字可用于搜索和分类数据,以及用于数据分析目的。我将使用客户对产品的评论作为示例用例。 ##嵌入式 Python #Artificial Intelligence (AI) #API #ObjectScript #Python #分析 #非结构化数据 #InterSystems IRIS 0 0 0 74
问题 deng hang · 二月 1 kafka保持连接自动管理 医院目前即将使用iris2023.1;里面包含了%External.Messaging.KafkaClient 类,需要设置kafka的链接,发送kafka消息,然后断开链接,能否跟springboot 一样;自动配置,kafka的链接交给iris来管理,保持长链接,不要断开;直接使用%External.Messaging.KafkaClient 发送消息; #InterSystems IRIS for Health 0 1 0 73
文章 Lilian Huang · 十二月 29, 2023 阅读大约需 9 分钟 使用 FHIR 适配器在传统系统上提供 FHIR 服务 - 阅读资源 我们继续推出有关可供 HealthShare HealthConnect 和 InterSystems IRIS 用户使用的 FHIR 适配器工具的系列文章。 在前几篇文章中,我们介绍了小型应用程序,并在此基础上建立了我们的工作,并展示了安装 FHIR 适配器后在 IRIS 实例中部署的架构。在今天的文章中,我们将看到一个示例,说明如何执行最常见的 CRUD(创建 - 读取 - 更新 - 删除)操作之一,即读取操作,我们将通过恢复资源来完成此操作。 什么是资源? FHIR 中的一个资源对应一种相关的临床信息,这种信息可以是病人(Patient)、对实验室的请求(ServiceRequest)或诊断(Condition)等。每种资源都定义了组成它的数据类型,以及对数据的限制和与其他类型资源的关系。每个资源都允许对其包含的信息进行扩展,从而满足 FHIR 80% 以外的需求(满足 80% 以上用户的需求)。 在本文的示例中,我们将使用最常见的资源 "Patient"。让我们来看看它的定义: #FHIR #InterSystems IRIS for Health Open Exchange app 0 0 0 74
文章 姚 鑫 · 七月 18, 2023 阅读大约需 4 分钟 第六十二章 ObjectScript Productions - 部署Production - 导出Production 第六十二章 开发Productions - ObjectScript Productions - 部署Production - 导出Production 导出Production 要使用管理门户导出Production的 XML,请打开Production,单击Production设置和操作选项卡,然后单击导出按钮。 IRIS 选择所有业务服务、业务流程、业务操作和一些相关类,然后显示以下表单以允许添加导出注释和其他组件。 还可以导出业务服务、流程或操作,方法是在Productions配置中选择组件,然后单击“操作”选项卡上的“导出”按钮。在这两种情况下,都可以通过单击其中一个按钮并选择一个组件来将其他组件添加到包中。以通过清除该复选框来从包中删除组件。 可以使用导出注释来描述部署包中的内容。例如,可以描述完整的Productions是否位于作为Productions更新的包或组件集中。当使用管理门户将包部署到目标系统时,会显示导出注释。 #InterSystems IRIS for Health 0 0 0 74
文章 姚 鑫 · 六月 17, 2023 阅读大约需 4 分钟 第六十章 镜像中断程序 - 使用主 ISCAgent 的日志数据进行 DR 提升和手动故障转移 第六十章 镜像中断程序 - 使用主 ISCAgent 的日志数据进行 DR 提升和手动故障转移 使用主 ISCAgent 的日志数据进行 DR 提升和手动故障转移 如果 IRIS A 的主机系统正在运行,但 IRIS 实例没有且无法重新启动,您可以使用以下过程在通过升级后使用来自 IRIS A 的最新日志数据更新升级的 IRIS C IRIS A 的 ISCAgent。 #InterSystems IRIS for Health 1 0 0 74
文章 姚 鑫 · 五月 7, 2023 阅读大约需 4 分钟 第五十一章 管理镜像 - 镜像的数据库注意事项 第五十一章 管理镜像 - 镜像的数据库注意事项 镜像的数据库注意事项 本节提供配置和管理镜像数据库时要考虑的信息: IRIS 实例兼容性 镜像中的 IRIS 实例必须以多种方式兼容,如下所示: #InterSystems IRIS 0 0 0 74
文章 姚 鑫 · 十月 16, 2022 阅读大约需 4 分钟 第十八章 CSP Session 管理 - 与 CSP.Session 的Sessions 第十八章 CSP Session 管理 - 与 CSP.Session 的Sessions `` 是一种无状态协议;每个请求都不知道以前的请求。虽然这适用于为用户提供简单静态内容的网站,但它使得开发交互式动态 Web 应用程序变得困难。为了解决这个问题,CSP 提供了所谓的Session 管理。 与 CSP.Session 的Sessions Session 话表示在特定时间段内从特定客户端到特定应用程序的一系列请求。 CSP 自动提供会话跟踪;无需执行任何特殊操作即可启用它。 CSP 应用程序可以通过对象中的 %CSP.Session 查询和修改其会话的各个方面。 CSP 服务器通过 ObjectScript %session 变量使该对象可用。 #CSP #Caché 1 0 0 74
文章 姚 鑫 · 十月 8, 2022 阅读大约需 2 分钟 第十章 CSP 架构 - Category 第十章 CSP 架构 - Category Category: AllowPrefix 如果应用程序依赖于调用以同一组字符开头的多个类或包,请使用AllowPrefix选项。 重要提示:如果应用程序依赖于调用上面列出的以外的任何类,则使用它可能是不安全的。建议确定是否需要调用此类,并为部署执行风险评估,以便了解使类可用的含义。 要使给定的Web应用程序能够调用以相同字符集开头的类或程序包,请在%sys命名空间中使用以下命令: Set ^SYS("Security", "CSP", "AllowPrefix", "web-app-name", "prefix") = value 其中 #CSP #Caché 1 0 0 74
文章 姚 鑫 · 七月 5, 2022 阅读大约需 5 分钟 第十九章 使用工作队列管理器(二) 第十九章 使用工作队列管理器(二) 基本工作流程 可以通过执行以下步骤来使用工作队列管理器: 将ObjectScript 代码划分为工作单元,这些工作单元是满足特定要求的类方法或子例程。 创建一个工作队列,它是 %SYSTEM.WorkMgr 类的一个实例。为此,请调用 %SYSTEM.WorkMgr 类的 %New() 方法。该方法返回一个工作队列。 可以指定要使用的并行worker jobs的数量,也可以使用默认值,这取决于机器和操作系统。此外,如果已创建类别,则可以指定应从中获取job的类别。 创建工作队列时,工作队列管理器会创建以下工件: - 包含有关工作队列的信息的全局变量,例如工作队列在哪个命名空间中运行 - 工作队列必须处理的序列化工作单元的位置和事件队列 - 在工作队列完成处理工作单元时创建的完成事件的位置和事件队列 #SQL #Caché 0 0 0 74
Job Tingting Jiang · 六月 21, 2022 InterSystems热招职位(3):Technical Specialist(Product Support) InterSystems正在招聘Technical Specialist(Product Support),欢迎您的自荐、推荐。 #工作机会 0 0 0 74
文章 姚 鑫 · 六月 8, 2022 阅读大约需 4 分钟 第三章 数据类型(二) 第三章 数据类型(二) SQL 系统数据类型映射 上表中为 DDL 和 IRIS 数据类型表达式显示的语法是为 SQL.SystemDataTypes 配置的默认映射。对于提供的系统数据类型和用户数据类型,有单独的映射表可用。 要查看和修改当前数据类型映射,请转到管理门户,选择系统管理、配置、SQL 和对象设置、系统 DDL 映射。 了解 DDL 数据类型映射 将数据类型从 DDL 映射到 IRIS 时,常规参数和函数参数遵循以下规则: 常规参数 - 这些在 DDL 数据类型和 IRIS 数据类型中以 %# 格式标识。例如: VARCHAR(%1) 映射到: %String(MAXLEN=%1) 因此,DDL 数据类型为: VARCHAR(10) 映射到: #SQL #Caché 0 0 0 74
文章 Johnny Wang · 十二月 19, 2021 阅读大约需 5 分钟 洞察新的 InterSystems 速度测试 我经常发现自己与现存客户和潜在客户就他们在访问数据方面的挫败感进行对话。他们最常见的话题是围绕对“速度的需求”展开的——可以理解,这是非常正确的。 #AWS #GitHub #InterSystems报表 #数据导入和导出 #数据库 #InterSystems IRIS 0 0 0 74