OpenSearch モジュールは検索結果を RSS として公開するため、自分でコーディングする必要はありません。
特殊なフォームが必要な場合は、フォームの処理後に OpenSearch の結果にリダイレクトするだけです。
補遺: 本当に自分でやりたい場合は、次のsearch_data
ように使用できます。
<?php
$data = search_data('your searchterms here');
これはノードを検索します ( のデフォルトの 2 番目のパラメーターとしてsearch_data
) が、hook_search を実装したユーザーやその他のものを検索するためにも使用できます。
また、search_data
名前に反して、実際にはフォーマットされた検索結果を返します。生の検索結果が必要な場合は、直接呼び出す か、 . 例:hook_search
do_search
<?php
$results = module_invoke('node', 'search', 'your searchterms here');
$data = do_search($query, 'node');
違いは、フックを呼び出すと、より多くのノード関連データが得られることです (ジェネリックに加えて、ノード固有の検索コードを実行するためですdo_search
(node.module のhook_search
実装は、実際の作業を完了するために do_search を呼び出します))。ノード検索は、検索設定で設定した重みを尊重するため、より正確な検索が可能になります。トレードオフは、検索クエリが遅くなることです。