什么时候使用索引器

g089h515r806 的头像
Submitted by g089h515r806 on 星期四, 2009-08-20 14:53

 

当搜索引擎的评价方式比标准的“匹配最多词语”方式要求更高时,一般使用索引器。搜索相关度(relevancy),指的是使用一个规则集(通常很复杂)对内容进行处理来判定它在一个索引内部的等级。
    如果你需要对大块的HTML内容进行搜索时,那么你就需要利用索引器的能力了。Drupal的最大优点之一就是,博客、论坛、页面等等都是节点。它们的基本数据结构是相同的,而这个共同纽带也意味着它们还将共享一些基本功能。一个这样的共同特性就是当启用了搜索模块后,所有的节点将被自动索引;而不需要额外的编程工作。即便是你创建了一个自定义节点类型,Drupal也会自动对其内容进行索引,这样你所作的修改在节点呈现时就能显示出来了。

老葛的Drupal培训班 Think in Drupal

Drupal版本:

使用搜索HTML索引器

g089h515r806 的头像
Submitted by g089h515r806 on 星期四, 2009-08-20 14:52

到目前为止,我们通过提供一个简单的hook_search('search')实现,检查了如何与默认搜索表单进行交互。然而,当我们的需求从使用简单的LIKE语句搜索数据库的一个VARCHAR列,提高到了索引网站内容,那么我们需要将该任务外包给Drupal内置的HTML索引器。

Drupal版本:

使用hook_search_page()格式化搜索结果

g089h515r806 的头像
Submitted by g089h515r806 on 星期四, 2009-08-20 14:39

如果你编写了一个提供搜索结果的模块,那么你可能想通过实现hook_search_page()来接管结果页面的外观。如果你没有实现这个钩子,那么就会调用theme('search_results', $results, $type)来进行格式化,它有个默认实现,位于modules/search/search-results.tpl.php。不要将这个与theme('search_result', $result, $type)混淆了,后者用来格式化单个搜索结果,它的默认实现位于modules/search/search-result.tpl.php。

Drupal版本:

扩展drupal搜索表单

g089h515r806 的头像
Submitted by g089h515r806 on 星期四, 2009-08-20 14:34

 

让我们看一个例子。假定我们使用了path.module,并想启用对站点上URL别名的搜索。我们将编写一个简略的模块,用来实现hook_search()以使得别名可被搜索,并在Drupal的搜索界面提供一个附加标签。

老葛的Drupal培训班 Think in Drupal

Drupal版本:

页面

Subscribe to Think in Drupal RSS