Drupal 6 常见搜索模块功能对比

  本文介绍 Drupal 6 中常见的一些搜索模块(或搜索实现方式),并对其优缺点进行对比

模块/方式 使用范围 强项 弱项
核心搜索(Search)模块 站内节点与用户名搜索,支持关键词布尔关系(Boolean Keyword)
  • 容易部署
  • Drupal 核心模块(由官方维护)
  • 使用索引
  • 搜索结果根据搜索者的权限而定
  • 可配置搜索结果排序方式
  • 可执行基于字段的简单搜索和高级搜索
  • hook API 支持
  • 仅索引节点类型内容,不包含站点内的其它内容
  • 对所有节点进行索引,不能选择
  • 对节点内容的搜索要求关键词的精确匹配(Stemming 模块可覆盖此特性),进行用户搜索时允许子串搜索
  • 不可更改节点显示方式(Theme renders)
模块:Search by Page 站内页面搜索,支持关键词布尔关系
  • 容易部署
  • 灵活-只对希望索引的内容进行索引制作
  • 索引和搜索功能依赖于核心搜索模块
  • 搜索结果根据搜索者的权限而定
  • 可对页面进行主题渲染
  • hook API 支持
  • 对节点内容的搜索要求关键词的精确匹配(Stemming 模块可覆盖此特性)
  • 不能实现基于字段和类型的搜索(No field-base or faceted searching capabilities)
  • 不可调整搜索结果排序
第三方搜索引擎(如:Google) 整站搜索
  • 容易部署
  • 内容索引保持你的主题样式
  • 无需维护索引
  • 很好的子串匹配机制
  • 只能搜索到搜索引擎可访问索引的公开内容
  • 头部、边栏、正文分开索引,可能会导致搜索匹配出现小问题
  • 对于索引、搜索结果排序、展示方式无法控制或只能少量控制
  • 无基于字段的搜索
搜索工具 视不同的工具而定(如 Apache Solr, Luence)
  • 高效,能够很好处理大容量网站
  • 许多工具提供分类搜索
  • 部署相对较难
Faceted Search 功能强大的分类搜索(Faceted Search)
  • 分类搜索
  • 容易部署
  • 灵活
  • 不容易部署
Views (Exposed Filters)过滤器 基于字段的搜索(支持节点、用户、文件、评论等等)
  • 基于字段的搜索
  • 容易部署
  • 灵活
  • 主要适用于基于术语的过滤搜索

参考资料:http://poplarware.com/articles/drupal_search


付费阅读