`

oracle 中对于 CONTAINS 函数的用法

阅读更多

1. 查询住址在北京的学生
SELECT student_id,student_name
FROM students
WHERE CONTAINS( address, 'beijing' )
remark: beijing是一个单词,要用单引号括起来。


2. 查询住址在河北省的学生
SELECT student_id,student_name
FROM students
WHERE CONTAINS( address, '"HEIBEI province"' )
remark: HEBEI province是一个词组,在单引号里还要用双引号括起来。

 

3. 查询住址在河北省或北京的学生
SELECT student_id,student_name
FROM students
WHERE CONTAINS( address, '"HEIBEI province" OR beijing' )
remark: 可以指定逻辑操作符(包括 AND ,AND NOT,OR )。

 

4. 查询有 '南京路' 字样的地址
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。

 

5. 查询以 '湖' 开头的地址
SELECT student_id,student_name
FROM students
WHERE CONTAINS( address, '"hu*"' )
remark: 上面的查询将返回包含 'hubei','hunan' 等字样的地址。
          记住是 *,不是 %。

 

6. 类似加权的查询
SELECT student_id,student_name
FROM students
WHERE CONTAINS( address, 'ISABOUT (city weight (.8), county wright (.4))' )
remark: ISABOUT 是这种查询的关键字,weight 指定了一个介于 0~1之间的数,类似系数(我的理解)。表示不同条件有不同的侧重。

 

7. 单词的多态查询
SELECT student_id,student_name
FROM students
WHERE CONTAINS( address, 'FORMSOF (INFLECTIONAL,street)' )
remark: 查询将返回包含 'street','streets'等字样的地址。
         对于动词将返回它的不同的时态,如:dry,将返回 dry,dried,drying 等等。

 

8. 词查询示例

  词查询是对输入到 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 来计算查询的命中 (匹配) 数目。

 

9 ABOUT查询示例

  在所有语言中,ABOUT查询增加了某查询所返回的相关文档的数目。在英语中,ABOUT 查询可以使用索引的主题词组件,该组件在默认情况下创建。这样,运算符将根据查询的概念返回文档,而不是仅依据所指定的精确单词或短语。例如,以下查询将查找文本列中关于主题 politics 的所有文档,而不是仅包含 politics 一词的文档:

 

  SELECT SCORE(1) title from news WHERE CONTAINS(text, 'about(politics)', 1) > 0;


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/youjunbin_2006/archive/2008/11/18/3330065.aspx

分享到:
评论

相关推荐

    Oracle 中Contains 函数的用法

    WHERE CONTAINS( address, 'beijing' ) remark: beijing是一个单词,要用单引号括起来。 2. 查询住址在河北省的学生 SELECT student_id,student_nameFROM students WHERE CONTAINS( address, 'HEIBEI province' ) ...

    基于ORACLE数据库的全文检索技术的安装和使用方法

    本文将详细介绍Oracle Text的安装与使用方法。 首先,Oracle Text的安装通常在安装数据库时可选择,如果未选中,可以通过以下步骤手动安装: 1. 创建表空间:`CREATE TABLESPACE oratextdataFILE '/usr/oracle/...

    oracle全文检索

    在没有使用Oracle Text的情况下,搜索文本数据通常依赖于SQL的内置函数,如INSTR和LIKE操作符。例如,通过`INSTR`函数可以找到指定字符串在目标字段中出现的位置,`LIKE`操作符则可以通过模式匹配来搜索包含特定子串...

    oracle9i中全文检索的创建与使用

    ### Oracle9i中全文检索的创建与使用 #### 一、引言 Oracle数据库自7.3版本开始引入了全文检索的功能,使用户能够利用Oracle服务器的上下文(ConText)选项来完成基于文本的数据查询。随着Oracle版本的升级,这一...

    Oracle全文检索技术详解

    Oracle Text提供了多种装载方法,例如使用SQL INSERT语句直接插入数据,通过ctxload可执行文件进行批量导入,利用SQL*Loader工具,或者在PL/SQL中使用DBMS_LOB.LOADFROMFILE()函数。在Oracle 10g中,还引入了...

    Oracle全文搜索设置方法

    Oracle提供了如MATCHES和CONTAINS等函数,用于在SQL查询中进行全文搜索。 8. **优化全文搜索**: 根据查询性能和资源使用情况,可能还需要进一步优化全文搜索,比如调整索引类型、使用停用词列表或调整分词规则等...

    Oracle Spatial 中文介绍

    Oracle Spatial 提供了一系列空间操作符,如 **Inside**、**Contains**、**Touch**、**Disjoint**、**Covers**、**CoveredBy**、**Equal**、**OverlapBoundary** 和 **WithinDistance** 等,这些操作符可以作为SQL...

    基于Oracle Text电子政务全文检索技术的应用.pdf

    接着,可以使用Oracle Text的CONTAINS函数或配对的索引查询语法来执行查询。此外,通过设置和调整各种参数,如查询权重、同义词词典等,可以进一步优化搜索性能和结果的相关性。 【电子政务典型业务流程实例】 在...

    oracle使用instr或like方法判断是否包含字符串

    这两种方法各有特点,下面将详细介绍它们的用法。 **1. `contains`谓词** `contains`是Oracle的全文本搜索函数,常用于对含有大量文本的数据进行高效检索。它的基本语法是: ```sql SELECT * FROM table WHERE ...

    Oracle Text教程.ppt

    在 Oracle 10g 中,新增了 LOADCLOBFROMFILE 和 LOADBLOBFROMFILE 函数,使得数据装载更加便捷。 在 Oracle 10g 中使用 Oracle Text 的基本步骤包括: 1. 创建用户并分配权限。使用 `CREATE USER` 命令创建新用户,...

    java读取oracle的读取空间数据

    例如,如果你想获取一个表中所有位于特定几何区域内的记录,可以使用`SDO_CONTAINS`函数: ```sql SELECT * FROM your_table WHERE SDO_CONTAINS(your_spatial_column, 'YOUR_GEOM_AREA') = 'TRUE'; ``` 3. **...

    Oracle Spatial空间数据库简介.ppt

    类似于传统的数据库聚集函数(如SUM和AVG),Oracle Spatial提供了空间聚集函数,如SDO_ANYINTERACT和SDO_CONTAINS,它们可以用于计算空间对象集合的特定属性或特征。 7. 地理编码(Geocoding): Oracle Spatial...

    Oracle Spatial的简单应用

    这篇博客“Oracle Spatial的简单应用”可能介绍了一些基本的Oracle Spatial的使用方法,虽然没有提供具体的细节,但我们可以深入探讨一下Oracle Spatial的相关知识点。 1. **什么是Oracle Spatial?** Oracle ...

    MapX中基于OO4O实现Oracle 10g空间操作.pdf

    在C/S架构的GIS系统中,如果服务器端使用Oracle 10g数据库,客户端应用使用MapX,通过OO4O实现Oracle 10g的空间操作,可以极大地扩展MapX的功能。例如,可以执行更复杂的空间查询,如缓冲区分析、网络分析等,这些在...

    关于oracle中clob字段查询慢的问题及解决方法

    然后,使用CONTAINS函数进行查询: ```sql select * from table_name where contains(column, '内容', 1) > 0; ``` 全文索引可以提高文本搜索的速度,但它需要额外的存储空间,并且建立和维护索引都需要消耗资源。在...

    oracle 全文检索文档

    - **CONTAINS PL/SQL Example**:使用 CONTAINS 函数进行复杂的查询示例。 - **Structured Query with CONTAINS**:结构化的 CONTAINS 查询示例。 - **ABOUT 查询**:近义词查询示例。 - **Optimizing for Response ...

    ORACLE全文检索技术的应用研究及其优化.pdf

    在实际应用中,优化Oracle Text检索性能的方法包括调整索引策略,如选择合适的索引类型、优化词法分析器设置,以及使用同步选项(如SYNC)来确保索引与数据的一致性。此外,还可以通过调整查询语句,如使用CONTAINS...

    Oracle数据库全文索引查询模板的使用

    在Oracle中,全文索引主要用于提高对文本数据的搜索效率,特别是对于含有大量文本记录的数据库表。 首先,我们来看如何在CONTEXT索引上使用CATSEARCH语法。在提供的示例中,创建了一个名为T的表,并插入了几个包含...

    Oracle10g Spatial教程

    这个教程将深入讲解Spatial的功能、安装、配置以及使用方法。 一、Oracle10g Spatial概述 Oracle10g Spatial是Oracle数据库在10g版本中集成的空间数据管理解决方案。它允许用户处理地理坐标、地图和地形数据,广泛...

Global site tag (gtag.js) - Google Analytics