啥是全文检索?
是模糊查询吧?where field like '%你好%'

解决方案 »

  1.   

    恐怕你自己开发这样的全文检索软件是吃力不讨好。
    现在国内有很多专业的做全文检索软件的厂家,比较有名的比如百度、TRS等,不过这些软件价格都比较高,一般在几十万元左右。
      

  2.   

    一楼的,你说的没错,应该是模糊查询,但是不能用like,明白么?因为数据量特别大,用like '%内容%'的话,速度会极慢,因为用不到索引建议楼主,建一个关键词表,把内容里的关键词提出来,放到关键词表中,查询时用like '内容%'到关键词中去查询,可能关键词表中有数据2000万或者更多,但如果你按我说的肯定可以用到索引,这样的话速度肯定没问题。
      

  3.   

    Google和百度的实现原理也差不多是这个意思,不过如果你用Sqlserver的话,它本身就支持全文索引。
      

  4.   

    oracle的全文检索作的还是不错的,比sqlserver2000快多了,但是8i对中文支持的不好,建议用9i以上
      

  5.   

    看看这里D:/oracle/ora81/ctx/sample/api/index.html
    Oracle8i interMedia Text Code Samples 看看Quick Start部分
    9i应该在对应的目录下
      

  6.   

    1。Create the table drop table quick;create table quick
      (
        quick_id                number
          constraint quick_pk     primary key,
        text                    varchar(80)
      );insert into quick ( quick_id, text )
      values ( 1, 'The cat sat on the mat' );
    insert into quick ( quick_id, text )
      values ( 2, 'The quick brown fox jumps over the lazy dog' );
    insert into quick
      values (3, 'The dog barked like a dog' );
    commit;
      

  7.   

    http://blog.csdn.net/winterld/articles/136238.aspx
    http://www.pcdog.com/info/3617.htm
    http://www.fixdown.com/article/article/1430.htm
      

  8.   

    我实现过用orcle9i,clob字段全文检索
      

  9.   

    首先建一个解析类型
    Ctx_Ddl.Create_Preference ('chinese_lexer_pref','CHINESE_VGRAM_LEXER'); 建一个表t1,带clob字段或varchar字段的
    然后给这个表检索引
    create index idx_t1 on t1 ( content ) indextype is ctxsys.context parameters ( 'LEXER CHINESE_LEXER_PREF' ) ;
    content 是clob类型的查询带“手机”的记录用
    单一关键词:
    select id,title,score(1) from t1  where contains ( content, '手机',1 ) >0  
    复杂查询如下:
    多个关键词并
    select id,title,score(1) from t1  where contains ( content, '<query><textquery grammar="CTXCAT">手机&电池</textquery><score datatype="integer"/></query>',1 ) >0  
    多个关键词或
    select id,title,score(1) from t1  where contains ( content, '<query><textquery grammar="CTXCAT">手机|电池</textquery><score datatype="integer"/></query>',1 ) >0