検索結果に期間や言語の絞り込み・公式情報のリンクを追加するChrome拡張機能「Amazing Searcher」

6 min read読了の目安(約5800字

概要

Googleの検索結果に期間や言語の絞り込みボタン、検索ワードに関連したリンクを表示するChrome拡張機能「Amazing Searcher」を作りました。この記事はその紹介編です。

↓公開先

https://chrome.google.com/webstore/detail/amazing-searcher/poheekmlppakdboaalpmhfpbmnefeokj

↓技術編

https://zenn.dev/eetann/articles/2021-06-01-amazing-searcher-tech

機能

DEMO

Googleの検索結果に追加されるのは、Term Lang Recipe の3種類です。
3つともオプションページからカスタマイズできます。オプションは拡張機能一覧からアクセスすることができます。

Term

検索結果

Termには、期間の絞り込みリンクが表示されます。
content-scripts_demo_term

たとえば、1wを押すと1週間以内(1 week)に絞って検索できます。

対応は以下です。

期間
n minute
h hour
d day
w week
m month
y year

allを押せば、全期間(普通の検索)に戻ります。

カスタマイズ

option_demo_term

オプションページのTERMタブには、以下の機能があります。

  • New Term欄から新しい期間を追加
  • テーブルのゴミ箱アイコンをクリックすることで削除
  • CSV形式でエクスポート
  • CSV形式でインポート
  • リセットボタンでデフォルトに戻す
デフォルト

デフォルトは、

  • 1 week
  • 1 month
  • 6 months
  • 1 year
  • 3 years
    です。

分単位の検索は、ニュース欄と組み合わせて使うといいかもしれません。

Lang

検索結果

Langには、言語の絞り込みリンクが表示されます。
content-scripts_demo_lang

たとえば、Japaneseを押すと日本語に絞って検索できます。
allを押せば、全言語(普通の検索)に戻ります。

カスタマイズ

option_demo_term

オプションページのLAGNタブには、以下の機能があります。

  • New Lang欄から新しい言語を追加
  • テーブルのゴミ箱アイコンをクリックすることで削除
  • リセットボタンでデフォルトに戻す
デフォルト

デフォルトは、

  • English
  • Japanese

です。

Langをカスタマイズする頻度は高くないと思うので、インポート&エクスポート機能は無いです。

Recipe

検索結果

TermLangの他に、検索結果にマッチした事柄のホームページやリファレンスなどを表示することができます。これを、レシピと名付けました(ネーミングセンスは無視してください)。
↓長めのGIFです。
content-scripts_demo_recipe

レシピの構成要素は以下です。

説明
Target レシピに関係する事柄です。
検索結果では、Targetが同じレシピをグループとしてまとめて表示します
Keyword Keywordに設定した正規表現が検索ワードとマッチしたレシピが表示されます
Kind 表示する文字列です
URL URLです

Recipe に関係する主な機能は4つです。

  • 検索ワードにあったリンクの表示
  • 検索ワードを使ったサイト絞り込み検索リンクの表示
  • 検索ワードを使ったサイト内検索リンクの表示
  • 検索ワードにあったメモの表示

リンクの表示とサイト絞り込み検索

対象をマッチしたレシピのサイトに絞ってGoogle検索するリンクを表示します。

たとえば、以下のレシピを登録してpython rangeでGoogle検索します。

Target Python en
Keyword python\|pyてょn
Kind Reference
URL https://docs.python.org/

すると、検索結果の横に文字列Referenceにリンクhttps://docs.python.org/が付いてアイコン付きで表示されます。
また、横に虫眼鏡アイコンが表示されます。このアイコンをクリックすると、
site:docs.python.org rangeを検索ワードにしてGoogle検索ができます。

↓もう一度画像を載せます。
DEMO

サイト内検索

URLに%sを含む場合は、サイト内検索をするリンクを表示します。

たとえば、以下のレシピを登録してpython rangeでGoogle検索します。

Target Python en
Keyword python\|pyてょn
Kind Search By Reference
URL https://docs.python.org/3/search.html?q=%s

すると、文字列Search By Referenceにリンクhttps://docs.python.org/3/search.html?q=rangeが付いてアイコン付きで表示されます。
クリックすると、レシピで指定したサイトで、検索ワードをrangeとしてサイト内検索を行います。

メモ機能

KindMemoを指定すると、リンクではなく文字列が表示されます。
公式ドキュメントがコマンドで提供されている場合に、そのコマンドを表示しておくと便利です。

表示順

KindURLに指定した文字列によってレシピの表示順が変わります。

表示順
  1. KindがHomepageのレシピ
  2. KindがReferenceのレシピ
  3. 上下に当てはまらないレシピ
  4. URLに%sを含むレシピ
  5. KindがMemoのレシピ

カスタマイズ

option_demo_recipe

オプションページのRECIPEタブには、以下の機能があります。

  • New Recipeから新しいレシピを追加
  • テーブルのゴミ箱アイコンをクリックすることで削除
  • CSV形式でエクスポート
  • CSV形式でインポート
  • リセットボタンでデフォルトに戻す

文字列に,を含むことはできません
デフォルトのレシピは結構偏っています。ぜひご自身でカスタマイズしてください。

動機

Google検索をしても、自分が欲しい情報がすぐ出てくるとは限りません。uBlacklistのように自分がよく思っていないサイトを除外することもできますが、キリがないです。
そこで、公式ドキュメントで情報を得るまでの動線が欲しいと思いました。これをブックマークで解決しようとすると、どれをブックマークしてどれをブックマークしていないのか分からなくなり、少し不便でした。
また、ググって出てきた公式ドキュメントは違うバージョンだったり……。

期間や言語の絞り込みが一発でできる拡張機能はいくつかあったのですが、自分が欲しい期間や言語が無かったり、表示が崩れていたりしました。
一日に何回もググるという行為をするので、なるべく速く情報にたどり着きたいですよね。

そんなわけで自分が便利だと思って作った拡張機能ですが、誰かの役に立てれば嬉しいです。

https://chrome.google.com/webstore/detail/amazing-searcher/poheekmlppakdboaalpmhfpbmnefeokj

https://github.com/eetann/amazing-searcher