全文检索

原创 2004年06月30日 21:36:00

SQL> select file_path from url_search where contains(file_path,'中中')>0;
我的应用和数据库有以下的特点
1.我的Doc文档是通过Delphi的OLEContainer加进去的,所以不是单纯的Doc文档而是加了个OLE的头
2.我的数据库的字符集是16GBK
问题是这样解决的
通过查看ctxsys.ctx_parameters发现其中的default_filter_file和default_filter_binary都是inso_filter,所以要修改
execute ctxsys.ctx_adm('default_filter_file','null_filter');
execute ctxsys.ctx_adm('default_filter_binary','null_filter');
选择语言解析器
execute ctxsys.ctx_ddl.create_preference('mylexer','chinese_vgram_lexer');
创建索引
create index myindex on testtable(column2) indextype is ctxsys.context parameters('lexer mylexer Filter ctxsys.inso_filter'');

--注意选择合适的lexer和inso_filter。

这样就可以了

 

 

==================

全文检索的问题

当我用下面的语句建立一个全文检索的索引时
=================================================
create index test_fulltext on testfulltext(bb)
indextype is ctxsys.context;
================================================

出了这个错误:
===============================================
ERROR 位于第 1 行:
ORA-29855: 执行 ODCIINDEXCREATE 例行程序时出错
ORA-20000: interMedia Text 错误:
DRG-11422: 语言初始化失败
DRG-00100: internal error, arguments : [52100],[drxs.c],[553],[gxtopen],[1]
DRG-11208: 未设置 ORACLE_HOME
ORA-06512: 在"CTXSYS.DRUE", line 126
ORA-06512: 在"CTXSYS.TEXTINDEXMETHODS", line 78
ORA-06512: 在line 1
=======================================================
解决方法:init.ora中的text_enable注释

[Java Web]Java的全文搜索类库 Lucene

Lucene是apache软件基金会4 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引...
  • sinat_19425927
  • sinat_19425927
  • 2015年01月30日 17:03
  • 1160

全文检索框架Lucene——原理

一、总论 根据http://lucene.apache.org/java/docs/index.html 定义: Lucene 是一个高效的,基于Java 的全文检索库。 所以在了解Lucene...
  • u013573133
  • u013573133
  • 2015年09月06日 16:26
  • 3261

全文检索原理及实现方式

一、总论 根据http://lucene.apache.org/java/docs/index.html 定义: "Apache Lucene(TM) is a high-performa...
  • qq_16162981
  • qq_16162981
  • 2017年04月12日 14:03
  • 913

elasticsearch的实现全文检索

 转自:http://zhaoyanblog.com/archives/495.html            elasticsearch一个准实时的搜索引擎,基于lucene构建,它...
  • wilsonke
  • wilsonke
  • 2015年06月03日 08:43
  • 3490

SQLite的全文检索

如果需要在其中做全文检索的话,也是可以的。因为sqlite中支持fts表 这里的FTS3其实是sqlite的一个扩展模块,是虚拟表模块,允许用户去实现全文检索。 下面是一个简单的例子: crea...
  • zhuqiang1002
  • zhuqiang1002
  • 2012年03月29日 14:22
  • 2851

比较全文索引和传统的模糊查询的性能

--查看表数据的内容和分布 SQL> select count(*) from members;     COUNT(*) ----------     345567   SQL>...
  • lichangzai
  • lichangzai
  • 2013年01月06日 12:25
  • 3136

Cloudera Search: 轻松实现Hadoop全文检索

近期Cloudera Search的推出,对于曾经做信息检索和使用过Lucene/Solr的我来讲,虽然不是那种令人乍舌的新技术,但从应用层面来考虑,我相信,对于业界而言,毫无疑问是一个相当令人兴奋的...
  • hadoop17173
  • hadoop17173
  • 2013年12月08日 22:51
  • 1167

oracle全文检索简单例子

1.=======为拥有文档表的模式建立文本索引授权====以system用户连接数据库,为ZYFILEUP授权。GRANT "CTXAPP" TO "JDCDC";ALTER USER "JDCDC...
  • jinru2560
  • jinru2560
  • 2005年12月15日 13:29
  • 1615

全文检索的基本概念和原理

全文检索的基本概念和原理--觉先前辈的博客《Lucene3.0原理与代码分析》读书笔记...
  • MONKEY_D_MENG
  • MONKEY_D_MENG
  • 2010年12月08日 21:39
  • 3002

PHP+MySQL数据库之中文全文检索解决方案

由于MYSQL仅支持英文的全文索引FULLTEXT,不支持中文,因为中文不能像英文那样通过空格来准确的判断单词,而需要通过语义来判断,这就需要我们对中文进行切词。 但是我们可以通过另一种方式来曲线解...
  • xm1331305
  • xm1331305
  • 2014年08月16日 14:56
  • 812
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:全文检索
举报原因:
原因补充:

(最多只允许输入30个字)