Oracle全文索引的WORDLIST属性用来设置模糊查询和同词根查询,另外WORDLIST属性还支持通配符查询。
Oracle的WORDLIST属性只有BASIC_WORDLIST一种,下面看一个BASIC_WORDLIST的例子:
1.Stemmer attribute是用来查询用词根的数据
SQL> create table stemmer_tbl(id number primary key,docs clob);
Table created.
SQL> insert into stemmer_tbl values(111,'We are testing the Stemmer attribute option');
1 row created.
SQL> insert into stemmer_tbl values(112,'The girl sang like a frog');
1 row created.
SQL> insert into stemmer_tbl values(113,'My import is committing too often');
1 row created.
SQL> commit;
Commit complete.
--
-- Basic WordList Stemmer attribute
-- This example uses English for Stemming.
-- Language choices are: NULL,ENGLISH,DERIVATIONAL,DUTCH,FRENCH,GERMAN,ITALIAN
-- and SPANISH. By default we use the language of the database. If the
-- database is not one of the listed languages then we choose NULL for stemmer
-- and default for fuzzy
--
SQL> begin
2 Ctx_Ddl.Create_Preference('STEMMER_PREF', 'BASIC_WORDLIST');
3 ctx_ddl.set_attribute('STEMMER_PREF','STEMMER','ENGLISH');
4 end;
5 /
PL/SQL procedure successfully completed.
SQL> create index stemmer_idx on stemmer_tbl ( docs )
2 indextype is ctxsys.context
3 parameters ('Wordlist STEMMER_PREF');
Index created.
SQL> column docs format a20
SQL> select id,docs,score(1) from stemmer_tbl
2 where contains ( docs, '$test',1 ) > 0;
ID DOCS SCORE(1)
---------- -------------------- ----------
111 We are testing the S 4
temmer attribute opt
ion
SQL> select id,docs,score(1) from stemmer_tbl
2 where contains ( docs, '$sing',1) >0;
ID DOCS SCORE(1)
---------- -------------------- ----------
112 The girl sang like a 4
frog
第一个查询是查test的找出testing,这个不太明显;第二个是找词根是sing的数据,找到了sang的这一行数据。
2.模糊查询的功能
SQL> create table fuzzy_tbl(id number primary key,docs clob);
Table created.
SQL> insert into fuzzy_tbl values(111,'We are testing the Fuzzy attribute option in the baisic wordlist feature.');
1 row created.
SQL> insert into fuzzy_tbl values(112,'Basic is a programming language');
1 row created.
SQL> insert into fuzzy_tbl values(114,'cat');
1 row created.
SQL> insert into fuzzy_tbl values(113,'cats');
1 row created.
SQL> insert into fuzzy_tbl values(115,'calc');
1 row created.
SQL> insert into fuzzy_tbl values(116,'case');
1 row created.
SQL> commit;
Commit complete.
--
-- Basic WordList Fuzzy attribute
-- This example uses English for Fuzzy searching.
-- Language choices are: GENERIC,JAPANESE_VGRAM,KOREAN,CHINESE_VGRAM,ENGLISH,
-- DUTCH,FRENCH,GERMAN,ITALIAN,SPANISH,and OCR
-- and SPANISH. By default we use the GENERIC for fuzzy_match.
--
SQL> begin
2 Ctx_Ddl.Create_Preference('FUZZY_PREF', 'BASIC_WORDLIST');
3 ctx_ddl.set_attribute('FUZZY_PREF','FUZZY_MATCH','ENGLISH');
4 ctx_ddl.set_attribute('FUZZY_PREF','FUZZY_SCORE','0');
5 ctx_ddl.set_attribute('FUZZY_PREF','FUZZY_NUMRESULTS','5000');
6 end;
7 /
PL/SQL procedure successfully completed.
SQL> create index fuzzy_idx on fuzzy_tbl ( docs )
2 indextype is ctxsys.context
3 parameters ('Wordlist FUZZY_PREF');
Index created.
SQL> select id,docs,score(1) from fuzzy_tbl
where contains ( docs, '?basic',1 ) > 0;
ID DOCS SCORE(1)
---------- -------------------- ----------
111 We are testing the F 5
uzzy attribute optio
n in the baisic word
list feature.
112 Basic is a programmi 5
ng language
SQL> select id,docs from fuzzy_tbl where contains ( docs,'FUZZY(basic)')>0;
ID DOCS
---------- --------------------
111 We are testing the F
uzzy attribute optio
n in the baisic word
list feature.
112 Basic is a programmi
ng language
SQL> select * from fuzzy_tbl where contains
(docs,'?cat')>0;
ID DOCS
---------- --------------------
114 cat
113 cats
115 calc
116 case
第二个select查询找出类似'cat'的数据。
3.测试词根和模糊组合功能,还是用上面使用的表fuzzy_tbl
--
-- Basic WordList Fuzzy and Stemmer attributes
-- This example uses English for Fuzzy and Stemming searching.
--
SQL> begin
2 Ctx_Ddl.Create_Preference('STEM_FUZZY_PREF', 'BASIC_WORDLIST');
3 ctx_ddl.set_attribute('STEM_FUZZY_PREF','FUZZY_MATCH','ENGLISH');
4 ctx_ddl.set_attribute('STEM_FUZZY_PREF','FUZZY_SCORE','0');
5 ctx_ddl.set_attribute('STEM_FUZZY_PREF','FUZZY_NUMRESULTS','5000');
6 ctx_ddl.set_attribute('STEM_FUZZY_PREF','STEMMER','ENGLISH');
7 end;
8 /
SQL> drop index fuzzy_idx ;
Index dropped.
SQL> create index fuzzy_idx on fuzzy_tbl ( docs )
2 indextype is ctxsys.context
3 parameters ('Wordlist STEM_FUZZY_PREF');
Index created.
SQL> select id,docs,score(1) from fuzzy_tbl
2 where contains ( docs, '?basic',1 ) > 0;
ID DOCS SCORE(1)
---------- -------------------- ----------
111 We are testing the F 5
uzzy attribute optio
n in the baisic word
list feature.
112 Basic is a programmi 5
ng language
SQL> select * from fuzzy_tbl where contains
2 (docs,'?cat')>0;
ID DOCS
---------- --------------------
114 cat
113 cats
115 calc
116 case
模糊查询起作用了,下面试试词根查询
SQL> update fuzzy_tbl set doc='cat sang' where id=114;
SQL> commit;
SQL> select * from fuzzy_tbl where contains(docs,'$sing',1)>0;
no rows selected
SQL> exec ctx_ddl.sync_index('fuzzy_idx');
PL/SQL procedure successfully completed.
SQL> select * from fuzzy_tbl where contains(docs,'$sing',1)>0;
ID DOCS
---------- --------------------
114 cat sang
词根和模糊都起作用了。
相关推荐
EB tresos配置指南:CAN通信信号收发全流程解析
本文详细解析了使用EB tresos配置工具实现AUTOSAR架构下CAN通信信号收发功能的全流程。从环境准备、COM模块信号定义、PduR路由配置、CanIf硬件抽象到CAN驱动层设置,提供了清晰的步骤指南和关键配置要点,帮助开发者快速打通从应用层到物理层的数据链路,实现可靠的CAN通信。
oracle数据库preference,Oracle PL/SQL配置
1.在设置的connection里面配置ORALCEHOMEToll->preference->Oracle->connection OracleHome:配置oracle客户端的路径OCI LIb 配置E:\oracleDatabse\instantclient_11_2\oci.dll2.配置oracle客户端的连接地址 E:\oracleDatabs...
保姆级教程:用Java和HslCommunication库搞定三菱PLC数据读写(附完整代码)
本文提供了一份详细的Java与三菱PLC通信教程,通过HslCommunication库实现高效数据读写。内容涵盖环境配置、通信模式选择、数据类型操作、异常处理及性能优化,并附有完整代码示例,帮助开发者快速掌握工业自动化中的PLC数据交互技术。
ORACLE TEXT LEXER PREFERENCE(一)
介绍完Oracle全文索引的FILTER属性,继续介绍Oracle的LEXER属性。 Oracle全文索引的LEXER属性用于处理各种不同的语言。最基本的英文使用BASE_FILTER,而如果需要使用中文则可以使用CHINESE_VGRAM_LEXER或CHINESE_LEXER。 这篇文章简单说明BASIC_LEXER属性。BASIC_LEXER属性支持多种语言,比如英语
Lattice FPGA 开发流程(以 ECP5 为例)
以下是以 Lattice ECP5 FPGA 为例的开发流程,涵盖从需求分析到硬件部署的完整步骤。ECP5 系列是 Lattice 提供的高性能、低功耗 FPGA,适用于通信、工业控制和嵌入式系统等领域。
提示词注入攻击全面解析与防御策略
提示词注入(Prompt Injection)是指攻击者通过精心构造的输入内容,操纵或欺骗AI系统执行非预期行为的技术手段。这种攻击类似于传统的SQL注入或XSS攻击,但其目标是AI模型的提示词处理机制而非数据库或网页。提示词注入利用了大语言模型的一个基本特性:它们被设计为遵循指令。攻击者通过在用户输入中嵌入特定指令,试图覆盖或绕过系统原有的安全限制和行为规则,让模型执行本不应该执行的操作。深度防御:实施多层次防御策略,不依赖单一安全措施持续更新:随着攻击技术的发展不断更新防御措施安全设计优先。
oracle索引的storage,oracle全文索引之STORAGE PREFERENCE
Oracle全文索引的STORAGE属性是为了给全文索引生成的辅助表设置存储参数的。[@more@]Oracle的全文索引会生成一张或多张辅助表,由于这些表是Oracle自动生成的,用户没有办法直接设置这些表和索引的物理参数,因此Oracle提供了STORAGE属性,专门设置这些辅助表和索引的物理参数。SQL> SELECT * FROM TAB;TNAME ...
如何通过Davinci Configurator来新增一个BswM仲裁规则
详细介绍如何通过Davinci Configurator来新增一个BswM仲裁规则。
oracle11g 建立全文索引
在手动创建了数据库后,只是具备了基本的功能,有的还需要使用全文检索功能,因此还需要配置全文检索。 按照以下步骤来做: 1.检查数据库是否具有全文检索功能(这是针对已经建成使用的数据库) 查看用户中是否存在ctxsys用户,查询角色里是否存在ctxapp角色。以上两个中的1个不满足(不存在),则说明没有装过全文检索功能。 即使满足也要查看下用户下
【数据结构】考点二十八 : 二叉树的概念:二叉树的度、完全二叉树、满二叉数结点数、哈夫曼结点数、完全二叉树的深度
二叉树(Binary Tree)是一种常见的数据结构,它或者为空(null),或者由一个根节点(root node)和两个子树(left subtree 和 right subtree)组成,这两个子树又分别是一棵二叉树。二叉树的每个节点最多有两个子节点,通常称为左子节点(left child)和右子节点(right child)。
在鸿蒙中使用AVPlayer完成视频的播放【坚果派】
播放的全流程包含:创建AVPlayer,设置播放资源和窗口,设置播放参数(音量/倍速/缩放模式),播放控制(播放/暂停/跳转/停止),重置,销毁资源。5.准备播放:调用prepare(),AVPlayer进入prepared状态,此时可以获取duration,设置缩放模式、音量等。8.退出播放:调用release()销毁实例,AVPlayer进入released状态,退出播放。6.视频播控:播放play(),暂停pause(),跳转seek(),停止stop() 等操作。今天我们来看一下视频如何正常播放。
Oracle 全文索引的表空间转移
工作中经常会转移表空间,表和一般的索引都没有什么问题,如果表有全文索引的话就需要做特别的处理,不能将全文索引和普通索引一样通过rebuild index来处理,需要将此全文索引先删除然后重建。具体方法如下: 1.如果没有建立preference的话,那么Oracle会将这些对象存放到默认表空间中,并根据默认表空间的存储参数设置这些对象的存储参数。 CONTEXT索引生成表的规则是DR$+...
【WRF理论】配置诊断变量 &diags
【WRF理论】配置诊断变量 &diags
oracle索引的storage,Oracle全文索引的STORAGE属性使用介绍
这篇文章介绍Oracle全文索引的STORAGE属性。Oracle全文索引的STORAGE属性是为了给全文索引生成的辅助表设置存储参数的。Oracle的全文索引会生成一张或多张辅助表,由于这些表是Oracle自动生成的,用户没有办法直接设置这些表和索引的物理参数,因此Oracle提供了STORAGE属性,专门设置这些辅助表和索引的物理参数。SQL SELECT * FROM TAB;TNAME T...
计算机控制技术及应用
《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。
lwip-2.0.3
lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。
oracle全文索引之STORAGE PREFERENCE
Oracle全文索引的STORAGE属性是为了给全文索引生成的辅助表设置存储参数的。[@more@]Oracle的全文索引会生成一张或多张辅助表,由于这些表是Oracle自动生成的,用户没有办法直接设置这些表和索引的物理参数,因...
温度PID控制PLC程序
温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值
oracle查询结果中数据相减,oracle 分组统计后结果相减 实例
oracle 分组统计后结果相减 实例create table TEST1(ID VARCHAR2(10),SALARY NUMBER(4))-----------------------------insert into test1 (ID, SALARY)values ('1', 32);insert into test1 (ID, SALARY)values ('2', 5...
jdk-8u144-linux-x64.tar.gz.
该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包
oracle索引的storage,CSS_Oracle全文索引的STORAGE属性使用介绍,这篇文章介绍Oracle全文索引的S - phpStudy...
Oracle全文索引的STORAGE属性使用介绍这篇文章介绍Oracle全文索引的STORAGE属性。Oracle全文索引的STORAGE属性是为了给全文索引生成的辅助表设置存储参数的。Oracle的全文索引会生成一张或多张辅助表,由于这些表是Oracle自动生成的,用户没有办法直接设置这些表和索引的物理参数,因此Oracle提供了STORAGE属性,专门设置这些辅助表和索引的物理参数。SQL S...
全文索引方面
09年马上要结束了,BLOG每天更新又坚持了一年,目前文章总数1700多篇,其中纯技术文章将近1300篇。 我比较喜欢的一句话:十年磨一剑。以前提到过,坚持10年可能会比较困难,那么至少要坚持5年,到目前为止,BLOG更新已经...
oracle全文索引之STOPLIST_ CTXCAT 索引_INDEX SET
这篇文章介绍的是ORACLE CTXCAT索引的INDEX SET,也是CTXCAT索引特有的属性。CTXCAT索引是CONTEXT索引的简化版,CTXCAT索引支持的PREFERENCE包括:LEXER、STOPLIST、WORDLIST和STORAGE参数。不支持其他的参数如:DATASTORE、FILTER、SECTIONGROUP。虽然支持LEXER但不支持THEME查
安装了两种oracle数据库怎么卸载,oracle数据库卸载步骤
oracle数据库卸载步骤卸载Oracle :1、停止所有Oracle服务,点Universal Installer卸载2、删除注册表中的所有关于Oracle项(1)在HKEY_LOCAL_MACHINE\SOFTWARE下,删除Oracle目录(2)在HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services下,删除所有Oracle项(3)在HKEY_LOC...
ORACLE 全文检索:
全文索引: ORACLE TEXT DATASTORE PREFERENCE(一):介绍DIRECT_DATASTORE。 ORACLE TEXT DATASTORE PREFERENCE(二):介绍MULTI_COLUMN...
oracle全文检索作用,如何更好的利用Oracle全文检索
不使用Oracletext功能,也有很多方法可以在Oracle数据库中搜索文本.可以使用标准的INSTR函数和LIKE操作符实现。SELECT *FROM mytext WHERE INSTR (thetext, 'Oracle')> 0;SELECT * FROM mytext WHERE thetext LIKE '%Oracle%';有很多时候,使用instr和like是很理想的, 特...
Oracle 10g 的全文检索
Oracle 10g 的全文检索分为两个部分: 索引创建 – 使用过滤器(Filter)对不同格式的内容进行提取,通过词法分析器(Lexer)将文本分离为有效词列表,创建并设置噪声词表、相关词表。 查询处理 – 在标准 SELECT 语句中通过 CONTEXT 和 CTXCAT 使用全文索引搜索。 1. 索引创建 a. 数据存储(Datastore) 默认的数据存储方式为 D...
508



被折叠的 条评论
为什么被折叠?



