Linked Custom Search
Google の Linked Custom Search Engine についてちょっと調査。
リンク集に登録されたURLを対象に検索をかけられないかなあと考えたわけです。
前にも同じことを考えて調べたんですが、そのときは手動で登録するやり方しか見つかりませんでした。
「Google のことだからそろそろなんか機能が増えてないか」と再調査したら見つかりました。でも昔からあったっぽい。
しかし、日本語では資料がほとんどないっポイ。解説しているところは見つからなかったです。
概略としては、Annotation と呼ばれる役割を持つ、検索対象 URL を列挙した XMLファイルを準備しておき、それを Google Custom Search Engine の検索フォームで指定することで目指す機能が実現できます。このXMLファイルを動的に生成してやればOK。
フォームの準備も、XMLファイルの準備も難しいところはありません。
フォーム:http://www.guha.com/cref_cse.xmlの部分を、自分で用意したファイルに変えるだけ
<form id="cref" action="http://www.google.com/cse"> <input type="hidden" name="cref" value="http://www.guha.com/cref_cse.xml" /> <input type="text" name="q" size="40" /> <input type="submit" name="sa" value="Search" /> </form> <script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=cref"></script>
XMLファイル:Title, Description, Label をそれぞれ、適当なものに変える。
<?xml version="1.0" encoding="UTF-8" ?> <GoogleCustomizations> <CustomSearchEngine> <Title>Solar Energy</Title> <Description>A Google Custom Search Engine that only includes solar energy sites</Description> <Context> <BackgroundLabels> <Label name="solar_example" mode="FILTER" /> </BackgroundLabels> </Context> <LookAndFeel nonprofit="true"> <Colors url="#FF6600" background="#FFFF33" border="#FF6600" title="#FF3300" text="#000000" visited="#663399" light="#FF0077"/> </LookAndFeel> </CustomSearchEngine> <Annotations> <Annotation about="http://www.solarenergy.org/*"> <Label name="solar_example"/> </Annotation> <Annotation about="http://www.solarfacts.net/*"> <Label name="solar_example"/> </Annotation> </Annotations> </GoogleCustomizations>
適当にキャッシュが効いているのが厄介で、XMLファイルが悪くて上手くいかないのか、キャッシュが古くて上手くいかないのかが判別付きません。
とりあえず、Cubookmarken に付けてみました(配布版にはまだないですよ)。これで、ブックマークしたページ(以下のページ)を対象に、Google 検索が可能になります。