OpenSearch を有効活用しよう (3/3)


  OpenSearch を有効活用しよう (1/3)
  OpenSearch を有効活用しよう (2/3)
⇒ OpenSearch を有効活用しよう (3/3)


OpenSearchを最大限に活用したサービスです。

OpenSearchが設定されたサイトで検索すると、次のことが出来ることを説明しました。

  • 既定の検索エンジンを変更できる
  • ショートカットで検索エンジンを変更できる

既定の検索エンジンを変更すると、使いたくないとき面倒で、ショートカットで変更するのは、デバイスが限られます。いっそのこと、

検索ワードによって、検索エンジンを切り替えられるとしたらどうでしょう?

ズバリ!できるわけがないッ!
ズバリ!できるわけがないッ!
と、ダービーさんは仰ってますが、あるサービスを既定の検索エンジンに設定すれば、できます。

へた読み辞書は「ひらがな」と「ひらがな以外」で検索エンジンを切り替えていますが、「ぐるなび」「じゃらん」など、一部のひらがなは google検索します。
切り替えルールは何でもありなので、都合のいい検索エンジンを作ってみましょう。画面とxmlは前回の記事を参照してください。

例を考えるのが面倒イメージが付きやすいのでqiita内の記事を例にしました。
Chromeの検索バーを強化する

同じように動作するよう作成したのが以下のサイトです。既定の検索エンジンを設定する手順は前回の記事を参照してください。
http://ny.nyanta.jp

search.php
<?php

$q = $_GET['q'];

if (preg_match('/^[a-zA-Z]+$/', $q)) {
  redirect_to('http://eow.alc.co.jp/'.$q.'/UTF-8'); // 英単語のみならalc
}

if (preg_match('/\balc\b/', $q)) {
  $q1 = preg_replace('/\balc\b/','',$q);
  redirect_to('http://eow.alc.co.jp/'.$q1.'/UTF-8'); // alcを含んでいればalc
}

if (preg_match('/\bej\b/', $q)) {
  $q1 = preg_replace('/\bej\b/','',$q);
  redirect_to('http://translate.google.com/#en|ja|'.$q1); // ejを含んでいればGoogle翻訳|enja
}

if (preg_match('/\je\b/', $q)) {
  $q1 = preg_replace('/\bje\b/','',$q);
  redirect_to('http://translate.google.com/#ja|en|'.$q1); // jeを含んでいればGoogle翻訳|jaen
}

if (preg_match('/\bphp\b/', $q)) {
  $q1 = preg_replace('/\bphp\b/','',$q);
  redirect_to('http://php.net/manual-lookup.php?pattern='.$q1); // phpを含んでいればphp
}

redirect_to('https://www.google.com/search?q='.$q); 

function redirect_to($url) {
  header('Location: '.$url);
  exit();
}

英単語1つならalcへ飛ぶようにしました。これで一手間省けます。キーワードは先頭に限らないので、入力ミスも減るでしょう。
翻訳は、trと英語ならen→ja、trと日本語ならja→enということもできます。それよりも、重要なのはAndroidとiOSでも使用できることです。
既定の検索エンジンが設定できないのでiOSは一手間多くなりますが、サイトへ移動して語句を入力するより速いはずです。

#あと5年もすれば、AIが勝手に検索先を選んでくれそうですが、それまでは自前検索エンジンの方が便利です。

おしまい