Oracle Text 使用标准 SQL 来索引、搜索和分析 Oracle 数据库内、文件中和 Web 上存储的文本和文档。
Oracle Text 可以对文档执行语言分析,以及使用各种策略搜索文本(包括关键字搜索、上下文查询、布尔操作、模式匹配、混合主题查询、HTML/XML 章节搜索等等)。它可以用各种格式显示搜索结果(包括纯文本、高亮显示术语的 HTML 格式和原始文档格式)。Oracle Text 支持多种语言并使用高级的相关度排序技术来提高搜索质量。Oracle Text 还提供了高级特性,如分类、汇集和对信息可视化结构的支持。
如果您已经在使用 Oracle Database,那么在应用中启用文本搜索是非常简单的。Oracle Text 与数据库使用相同的 SQL 语言,可与您现有的 SQL 无缝集成。任何具有 SQL 接口的编程语言均可使用 Oracle Text,这几乎意味着所有的语言。
1.创建Oracle Text用户
在创建Oracle Text索引和使用Oracle Text PL / SQL包之前,需要创建一个具有CTXAPP角色的用户。 该角色可以执行以下操作:
- 创建和删除Oracle Text索引首选项
- 使用Oracle Text PL / SQL软件包
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
|
如果数据库没有安装Oracle Text,则授予CTXAPP会报如下错误:
1 |
|
此时我们需要给数据库安装Oracle Text,测试环境是12c多租户,可以在PDB(注意要先在CDB中安装,不然下次重启数据库时,检测到CDB中没有Oracle Text,PDB会进入受限模式)中直接安装Oracle Text组件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
|
2.查询应用程序简单体验
在基本的文本查询应用程序中,用户输入查询词或短语,并期望该应用程序返回与查询最匹配的文档列表。 这样的应用程序涉及创建一个CONTEXT索引并使用CONTAINS对其进行查询。
通常,查询应用程序需要用户界面。 CONTEXT查询应用程序中提供了一个如何使用CONTEXT索引类型构建这样的查询应用程序的示例。
下面示例提供了基本的SQL语句,用于加载文本表,为文档建立索引以及查询索引。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
|
3.目录应用程序简单体验
示例提供了基本的SQL语句,可为出售电子设备(例如相机和CD播放器)的拍卖网站创建目录索引。 每天都会添加新的库存,并且必须将项目描述,投标日期和价格一起存储。
对于混合查询,该应用程序需要良好的响应时间。 关键是确定用户经常搜索哪些列以创建合适的CTXCAT索引。 对此类索引的查询使用CATSEARCH运算符。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
|

4.分类应用程序简单体验
分类应用程序的功能是根据文档内容执行某些操作。 这些操作可以包括为文档分配类别ID或将文档发送给用户。 结果是对文档进行分类。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|




