Oracle全文索引之六 附:CONTAINS函数
oracle 中对于 CONTAINS 函数的用法
出处:http://blog.csdn.net/youjunbin_2006/archive/2008/11/18/3330065.aspx
查询住址在北京的学生
SELECT student_id,student_name FROM students WHERE CONTAINS( address, 'beijing' )
remark: beijing是一个单词,要用单引号括起来。
查询住址在河北省的学生
SELECT student_id,student_name FROM students WHERE CONTAINS( address, '"HEIBEI province"' )
remark: HEBEI province是一个词组,在单引号里还要用双引号括起来。
查询住址在河北省或北京的学生
SELECT student_id,student_name FROM students WHERE CONTAINS( address, '"HEIBEI province" OR beijing' )
remark: 可以指定逻辑操作符(包括 AND ,AND NOT,OR )。
查询有 ‘南京路’ 字样的地址
SELECT student_id,student_name FROM students WHERE CONTAINS( address, 'nanjing NEAR road' )
remark: 上面的查询将返回包含 ‘nanjing road’,’nanjing east road’,’nanjing west road’ 等字样的地址。A NEAR B,就表示条件: A 靠近 B。
查询以 ‘湖’ 开头的地址
SELECT student_id,student_name FROM students WHERE CONTAINS( address, '"hu*"' )
remark: 上面的查询将返回包含 ‘hubei’,’hunan’ 等字样的地址。记住是 *,不是 %。
类似加权的查询
SELECT student_id,student_name FROM students WHERE CONTAINS( address, 'ISABOUT (city weight (.8), county wright (.4))' )
remark: ISABOUT 是这种查询的关键字,weight 指定了一个介于 0~1之间的数,类似系数(我的理解)。表示不同条件有不同的侧重。
单词的多态查询
SELECT student_id,student_name FROM students WHERE CONTAINS( address, 'FORMSOF (INFLECTIONAL,street)' )
remark: 查询将返回包含 ‘street’,’streets’等字样的地址。
对于动词将返回它的不同的时态,如:dry,将返回 dry,dried,drying 等等。
词查询示例
词查询是对输入到 CONTAINS 运算符中单引号间的精确单词或短语的查询。在以下示例中,我们将查找文本列中包含 oracle 一词的所有文档。每行的分值由使用标签 1 的 SCORE 运算符选定:
SELECT SCORE(1) title from news WHERE CONTAINS(text,'oracle',1)> 0;
在查询表达式中,可以使用 AND 和 OR 等文本运算符来获取不同结果。还可以将结构性谓词添加到 WHERE 子句中。可以使用 count(*)、CTX_QUERY.COUNT_HITS 或 CTX_QUERY.EXPLAIN 来计算查询的命中 (匹配) 数目。
ABOUT查询示例
在所有语言中,ABOUT查询增加了某查询所返回的相关文档的数目。在英语中,ABOUT 查询可以使用索引的主题词组件,该组件在默认情况下创建。这样,运算符将根据查询的概念返回文档,而不是仅依据所指定的精确单词或短语。例如,以下查询将查找文本列中关于主题 politics 的所有文档,而不是仅包含 politics 一词的文档:
SELECT SCORE(1) title from news WHERE CONTAINS(text, 'about(politics)', 1) > 0;
Oracle全文索引之六 附:CONTAINS函数相关推荐
- oracle中chr()和ascii()函数(附常用字符与ascii对照表)
今天修改数据库时,有较长字符串无法直接复制到某一个字段,开始以为是字符串太大了,但是长度距离VARCHAR2的上限还有很多,只有1700多个字符.检查这个字符按串和对应的错误.发现很怪异,是ORA-0 ...
- oracle asc 汉字,oracle中chr()和ascii()函数(附常用字符与ascii对照表)
今天修改数据库时,有较长字符串无法直接复制到某一个字段,开始以为是字符串太大了,但是长度距离VARCHAR2的上限还有很多,只有1700多个字符.检查这个字符按串和对应的错误.发现很怪异,是ORA-0 ...
- Oracle全文索引
Oracle全文索引 一.设置词法分析器 Oracle实现全文检索,其机制其实很简单.即通过Oracle专利的词法分析器(lexer),将文章中所有的表意单元(Oracle 称为 term)找出来,记 ...
- oracle 全文索引 优化,通过案例学调优之--Oracle 全文索引
通过案例学调优之--Oracle 全文索引 全文检索(oracle text) Oracle Text使Oracle9i具备了强大的文本检索能力和智能化的文本管理能力,Oracle Text 是 Or ...
- oracle字符串提取函数,oracle字符串分割和提取函数定义
oracle字符串分割和提取函数定义 oracle字符串分割和提取 分割 create or replace function Get_StrArrayLength ( av_str varchar2 ...
- oracle和MySQL的日期函数_mysql与oracle的日期/时间函数小结
前言 本文的日期/时间全部格式化为"2016-01-01 01:01:01"形式: MONITOR_TIME为数据库表字段: 字符串与日期/时间相互转换函数 Oracle 日期/时 ...
- Oracle数据库之多行函数
oracle安装参照: Oracle数据库之安装教程 Oracle数据库总结: Oracle数据库之基本查询 Oracle数据库之单行函数 Oracle数据库之多行函数 Oracle数据库之多表查询 ...
- oracle表 游标,Oracle游标表达式和表函数
Oracle游标表达式是Oracle数据库中的重要概念,下面就为您详细介绍Oracle游标表达式和表函数方面的知识,供您参考学习之用. Oracle游标表达式(有时称为游标子队列)是 SQL 语言的一 ...
- Oracle数据库中的SOUNDEX函数
在Oracle数据库中,SOUNDEX函数返回字符串参数的语音表示形式,相对于比较一些读音相同,但是拼写不同的单词是非常有用的. SOUNDEX函数的语法: SOUNDEX(string) 计算语音的 ...
最新文章
- JAVA IDEA集成geotools gt-mif gdal读取.MIF
- python自动化测试locksetting/gatekeeper/keymaster/vts等
- oracle巡检 博客,自己总结了一下巡检的工作 for Oracle RAC
- 使用WildFly 8在Java EE7中自举Apache Camel
- linux吉祥物的名字,知道Linux的吉祥物的名字和性别吗
- 关于面试题的一些想法
- Visio studio 2015企业版,汉语版下载,安装,破解,搞定了
- Vue相关易忘点记录
- SqlTransaction作用及如何使用(超详细)
- 手机通过页面调用摄相头或选择照片压缩后并显示
- [算法入门笔记] 18. 动态规划
- (C++)编写一个判别素数的函数,在主函数输入一个整数,输出是否为素数的信息
- Codeforces - 1428E. Carrots for Rabbits
- Python Platform 平台信息
- Delcam DentCAD v8.1.12 SP2 1CD
- 矿大计算机学院周裕浩,计算机学院学子在第45届ACM-ICPC亚洲区决赛获佳绩
- 通用定时器输出PWM波实现呼吸灯
- linux手写涂鸦代码,canvas实现图片涂鸦功能(附代码)
- JavaScript函数式编程面试题
- 图像化转向名词解释_图形学名词解释2(转帖)
热门文章
- 高性能MySQL(第二版)第三章 架构优化和索引(上)——读书笔记
- Shell编程基础(1)
- linux鼠标键盘被禁用了,debian squeeze下鼠标、键盘突然被系统禁用
- 直方图均衡[附C实现代码]
- Amoeba 主从复制和读写分离
- @Async,@Transational注解失效的原因和解决方法
- 解决VS.NET 里Atuomation 服务器不能创建对象
- RobotFramework_4.SeleniumLibrary操作(二)
- linux 使用 /proc 文件系统
- npm + webpack +react