Drupal搜索行为

时间:2009-07-01 01:45:57

标签: php search drupal

我查看了DP 6搜索API,并没有看到一个钩子,它可以让我在将搜索键传递到搜索模块以执行搜索之前对其进行更改。 我想对用户输入的字符串进行关键字扩展。例如,如果用户输入'foo',我想执行搜索'foo'和'bar'。最终应该有这些映射的UI,但对于快速原型,我可以对字符串进行硬编码。

你会在哪里开始执行这样做的代码?我错过了搜索API中的钩子吗?


更新
Synonyms模块为分类术语执行此操作。我仍然可能需要为全文搜索术语执行此操作。有什么建议吗?

2 个答案:

答案 0 :(得分:2)

在这种情况下使用的钩子是hook_search_preprocess。它允许您在搜索完成之前编辑用户输入的密钥。有利的是,为被索引的文本执行此操作,因此您可以获得扩展这些单词的优势,也可以用于索引的文本。

答案 1 :(得分:0)

我没有尝试过这个,但在阅读了文档后,我认为您可以在模块中实现hook__search(),在那里进行密钥扩展,然后使用扩展密钥进行do__search()。< / p>

从外观上看,你也必须做hook__update__index()