Oracle Text简介
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,Oracle Text为查询应用程序和文档分类应用程序中的文本提供索引,单词和主题搜索以及查看功能。 要设计Oracle Text应用程序,首先确定期望运行的查询类型。 知道类型后,就可以为任务选择最
千家信息网最后更新 2025年01月19日Oracle Text简介Oracle Text为查询应用程序和文档分类应用程序中的文本提供索引,单词和主题搜索以及查看功能。 要设计Oracle Text应用程序,首先确定期望运行的查询类型。 知道类型后,就可以为任务选择最合适的索引。 Oracle Text用于以下类别的应用程序:
创建XML Search Index:
- Document Collection Applications
- Catalog Information Applications
- Document Classification Applications
- XML Search Applications
下图展示了用户与简单文本查询应用程序进行交互的流程图:
- 1)用户输入查询
- 2)该应用程序运行CONTAINS查询
- 3)应用程序将显示一个命中列表
- 4)用户从命中列表中选择文档
5)该应用程序将文档呈现给用户以供查看
2.1关于目录信息应用程序
存储的目录信息由文本信息(例如书名)和相关结构化信息(例如价格)组成。 通常会定期更新信息,以使在线目录与库存保持最新。 查询通常是文本组件和结构化组件的组合。 结果几乎总是按结构化组成部分排序,例如日期或价格。 良好的响应时间始终是此类查询应用程序的重要因素。 CTXCAT索引可以最好地服务Catalog应用程序。 在SELECT语句的WHERE子句中使用CATSEARCH运算符查询此索引。2.2目录查询应用程序流程图 目录应用程序使用户可以搜索目录中的特定项目。 例如,在线商店应用程序使用户可以搜索和购买库存中的物品。 通常,用户查询由一个文本组件组成,该组件在文本描述以及一些其他订购条件(例如价格或日期)中进行搜索。 下图说明了在线电子商店的目录查询应用程序的流程图:- 1)用户输入一个查询,该查询由文本组件(例如CD播放器)和结构化组件(例如按价格订购)组成。
- 2)该应用程序执行CATSEARCH查询。
- 3)该应用程序显示相应的排序结果。
- 4)用户浏览结果。
- 5)用户输入另一个查询或执行操作,例如购买商品。
4.1具有XML搜索应用程序的CONTAINS运算符
CONTAINS运算符非常适合结构化搜索,可以使用WITHIN,HASPATH和INPATH运算符执行限制性搜索。 如果使用CONTEXT索引,那么还可以受益于Oracle Text搜索的以下特征:- 基于令牌的空格标准化搜索
- 命中列表按相关性排名
- 区分大小写的搜索
- 章节搜索
- 语言功能,例如词干和模糊搜索
- 针对大型文档集的性能优化查询
4.2将Oracle文本功能与Oracle XML DB(XML Search Index)相结合
当请想要对应用程序进行全文检索时,结合使用Oracle Text和Oracle XML DB的功能来创建XML搜索索引。 在这种情况下,通过输入诸如"查找包含单词Pentium的所有节点"之类的查询来利用XML结构。 Oracle Database 12c通过添加对XQuery全文扩展的支持,扩展了Oracle对W3C XQuery规范的支持。 通过此支持,可以对存储在数据库中的XML内容执行支持XML的全文搜索。4.2.1使用xml_enable方法获取XML Search Index
XML Search Index是启用XML的Oracle文本索引(CTXSYS.CONTEXT)。 该索引类型在一个统一索引中支持信息检索搜索和结构化搜索。XML Search Index还在Oracle文本表中内部存储了二进制持久文档对象模型(PDOM),因此可以在二进制PDOM上对XML操作进行功能评估。 XMLTYPE数据存储支持此XML搜索索引。 在存在这样的XML搜索索引的情况下,XMLEXISTS被无缝地重写为CONTAINS查询。 创建XML Search Index时,将在Oracle Text内部表中实现XML文档的Binary PDOM。 来自Oracle Text索引的后期评估被重定向为与存储在此内部表中的PDOM背道而驰。创建XML Search Index:
exec CTX_DDL.CREATE_SECTION_GROUP('secgroup','PATH_SECTION_GROUP');exec CTX_DDL.SET_SEC_GRP_ATTR('secgroup','xml_enable','t');CREATE INDEX po_ctx_idx on T(X) indextype is ctxsys.context parameters ('section group SECGROUP');4.2.2使用Text-on-XML方法 使用Oracle Text,可以在包含XML数据的列上创建CONTEXT索引。 列类型可以是XMLType或任何受支持的类型,只要对XML数据使用正确的索引首选项。 使用XML上的文本方法,使用标准的CONTAINS查询并添加结构化约束,以将搜索范围限制为特定部分,字段,标记或属性。 即,指定文本运算符内部的结构,例如WITHIN,HASPATH和INPATH。 例如,设置的CONTEXT索引以使用XML文档创建章节。 考虑以下定义purchase order的XML文档:
Po_1 John 1033 Main Street Sunnyvalue CA Dell Computer Pentium 2.0 Ghz 500MB RAM Norelco R100 Electric Razor
--要在ITEM描述部分中查询所有包含Pentium的purchase order,请使用WITHIN运算符:SELECT id from po_tab where CONTAINS( doc, 'Pentium WITHIN DESC') > 0;--使用INPATH运算符可以使用XPATH表达式指定更复杂的条件:SELECT id from po_tab where CONTAINS(doc, 'Pentium INPATH (/PURCHASEORDER/ITEMS/ITEM/DESC') > 0;
4.2.3索引JSON数据
JavaScript Object Notation(JSON)是一种独立于语言的数据格式,用于序列化结构化数据并通过网络(通常在服务器和Web应用程序之间)交换该数据。 JSON提供了一种基于文本的方式来表示JavaScript对象文字,数组和标量数据。create table t1 (txn_date date, po CLOB, constraint c1 check (po is json));create search index idx on t1(po) for JSON parameters('DATAGUIDE ON sync (on commit)');
应用
应用程序
程序
文档
查询
搜索
索引
用户
文本
数据
结构
运算符
运算
信息
目录
结构化
输入
类型
规则
支持
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全和犯罪
深圳二手服务器回收单价
网络安全攻防类型的题目
网络安全进入校园美术画
江西虚拟服务器管理软件云空间
英语网络安全手抄报
算法数据库等于软件
自学网络安全知识网站
河南威格斯网络技术有限公司
斑马网络技术 加班情况
网络技术与电子商务专业
软件开发的安全性设计
股票软件开发申请专利
扬州翊成网络技术有限公司
服务器可以带40台电脑吗
网络安全法律体系有哪些
php数组存入数据库
场站网络安全防护预案
数据库商品需求分析模板
如何修改通达信登录服务器
app软件开发模拟器
招远直播软件开发推荐
网络安全经验做法
网络安全保障中心是什么编制
计算机一级网络安全值得考吗
l4d2steam服务器
空洞骑士需要服务器吗
王宏信网络安全
关于网络安全教育的提问
dz数据库清理