1. 论坛系统升级为Xenforo,欢迎大家测试!
    Dismiss Notice

drupal 中文搜索优化

Discussion in '源码讨论' started by laogui, Mar 14, 2008.

  1. laogui

    laogui Administrator
    Staff Member

    Joined:
    Aug 30, 2005
    Messages:
    15,216
    Likes Received:
    35
    drupal默认就是全文搜索,但需要运行Cron进行内容分词建立索引。

    比如我的原句是

    drupal不懂中文,如果你设置索引关键词为2,默认的分词会生成下面的索引,只是机械地两个字两个字分开。

    如果内容多,索引关键词短,索引数据表会非常大,会让数据库效率下降。国内drupal牛人 http://www.blogme.cn 的站长开发了一个中文分词模块,http://drupal.org/node/53886 ,这个模块用中文辞典文件对内容进行索引,可以大量减少索引的数量。

    下面是利用这个模块生成的索引

    是不是准确精简了很多?当然你可以用其他辞典让分词更准确。


    另一个减少索引的方法是只搜索标题,既可以减少索引的时间,又可以减少索引的数量。只需进行下面的修改

    modules/node/node.module

    $text = '<h1>'. check_plain($node->title) .'</h1>'. $node->body;

    改为

    $text = check_plain($node->title) ;
     
  2. kernel

    kernel New Member

    Joined:
    Nov 14, 2005
    Messages:
    45
    Likes Received:
    0
    标题搜索用二元分词 全文索引
    内容搜索用google自定义
     
  3. zipo_han

    zipo_han New Member

    Joined:
    Jul 8, 2006
    Messages:
    112
    Likes Received:
    0
    收藏。留用。
     
  4. deadfire

    deadfire New Member

    Joined:
    Nov 13, 2007
    Messages:
    621
    Likes Received:
    0
    同收同收。