2010/08/11

ChromeだとOpenSearchでPubMed検索が簡単にできる

バイオの研究者は、一日のうち何度も PubMed にアクセスするのではないでしょうか? 今までアドレスバーに、pubmed.gov と入力してアクセスしていたのですが、もっと簡単な方法を発見しました。ただし Chrome 限定で、一度でも Chrome で PubMed にアクセスしたことがあることが条件です。

Chrome のアドレスバーに puと入力して Tab key を入力します。

するとアドレスバーが以下のようになります。


続けて、検索ワードを入力し、Enter key を押すと検索できます。複数ワードのときはスペースを打ちます。

これはOpenSearchという仕組みを使っています。ざっくりと言うと検索エンジンの説明やそのURLなどの記述 (OpenSearch Description document) のフォーマットや、検索結果のフォーマットなどを標準化したものです。

PubMed のソースを読んでいて気付いたのですが、http://www.ncbi.nlm.nih.gov/corehtml/query/static/pubmedsearch.xml に OpenSearch Description document がありました。
[code]
<?xml version="1.0" encoding="UTF-8"?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
<ShortName>PubMed</ShortName>
<Description>Use PubMed to search 17 million citations from MEDLINE and other life science journals for biomedical articles back to the 1800s.</Description>
<Tags>Entrez PubMed</Tags>
<Contact>pubmednew@ncbi.nlm.nih.gov</Contact>
<Image width="64" height="64" type="image/png">http://www.ncbi.nlm.nih.gov/corehtml/query/static/gifs/pubmed.png</Image>
<Image width="16" height="16" type="image/vnd.microsoft.icon">http://www.ncbi.nlm.nih.gov/corehtml/query/static/gifs/pubmed.ico</Image>
<Url type="text/html" template="http://www.ncbi.nlm.nih.gov/sites/entrez?db=pubmed&amp;cmd=search&amp;term={searchTerms}"/>
</OpenSearchDescription>
[/code]

9行目に検索URLのテンプレートが書いてあります。このURLの後ろにキーワードが追加され、そのアドレスにアクセスするわけです。

Chrome は、この OpenSearch Description document があると自動的に記憶し、前述したようなアドレスバーからの検索が可能になります。

PubMed のほうには以下のような記述があります。Chrome はこれを認識しているようですね。
[code]
<link rel="search" type="application/opensearchdescription+xml" href="/corehtml/query/static/pubmedsearch.xml" title="PubMed search" />
[/code]

参考: http://d.hatena.ne.jp/takoratta/20100808/1281270907