Operaの検索機能の設定ファイル search.ini について.

注意

この文書は,WindowsXPにWindows版の Opera 9.60 をインストールしたときの情報に基づいて作成してます.別のOS,別のバージョンの解析状況は追々.

この文書を基にして,Operaにカスタマイズその他の変更を加えて,不具合が発生しても責任は取れません.

突っ込み,感想,その他は,office@ashula.infoまで

説明

search.iniは,検索の設定に使われるiniファイル.

プロファイルディレクトリ Opera Directoryと,インストールディレクトリに存在する.

公式の解説によれば,基本的にプロファイルディレクトリの設定が優先されるが,プロファイルディレクトリにあるファイルの version がインストールディレクトリにあるものより古い(値が小さい)場合,インストールディレクトリのもので上書きされる.

Settings for the search engines available in Opera, and where they are displayed in the browser. Only overwritten when the version number in the existing file is lower than that of the search.ini file in the main directory

http://www.opera.com/docs/operafiles/#mainprofile

構造

ヘッダと[Version],[Search Engine X]セクションからなる.

ヘッダ

3行ほど冒頭に有るが,実質的に最初の一行のみ.残りの2行はコメント

Opera Preferences version 2.1
; This file is part of the Opera browser.
; This file is UTF-8 encoded.

ファイルの先頭に BOM(byte order mark)が version 2.1 から追加されている.

[Version] セクション

ファイルの(書式など)のバージョンを表すセクション.

プロファイルディレクトリのファイルとインストールディレクトリのファイルのうち,この値が新しい(大きい)方が使われる.

サンプル
File Version=19 

[Search Engine X] セクション

それぞれの 検索エンジンの設定を表すセクション.

最初から登録されている Google 検索などは [Search Engine 1] などと小さい値で,あとから追加したものは100000 以上の値が付けられる.

それぞれの 検索エンジンの設定は,以下の要素からなる.

ID 数値 各検索エンジンに対して一意の数値.元々用意されてるモノには,1000000未満の値が割り当てられ,あとからユーザが追加したものは1000000以上の数値が割り当てられる.Opera9.6 では UNIQUEID の追加により削除される予定.
`` Name `` 文字列 アドレスバーからのキーワードでの検索時に,「"何々で""何々を"検索」の「何々で」に表示される文字列
``Verbtext``数値検索フィールドで,「何々"検索"」と表示されるときの「検索」の方の言語ファイルでの番号.0がするとデフォルト.まれに``17063``が指定されていることがあるが,9.5の言語ファイルに該当する項目は無く,``-1988219522="%s search"``が妥当.
``URL`` 文字列(URL)検索エンジンのURL. Webページに限らず,``javascript:``なども設定可能.URL中の ``%s``が検索キーワードで置換される.``%s``などの詳細は後述.
``Query``文字列POSTメソッドで検索するときのデータ.ここでも ``%s``が検索キーワードで置換される.
``Key``文字列アドレスバーなどで検索するときにつかうキー,後述のサンプルでは ``gj ほげ`` でGoogleで日本語検索になる.
``Is post``数値(0,1)POSTメソッドを用いるときに1.
``Has endseparator``数値(0,1)検索フィールド内で一覧表示したときや,右クリックのデータベースの検索での表示の際に,この検索エンジンの下に,区切り線を入れるかどうかを指定する.
``Encoding``特定文字列``%s``などに渡された文字列を検索エンジンのURLに変換するときのエンコードを指定する.
``Search Type``数値以下の検索エンジンの種別の値を指定する.各値の意味は後述.
``Position``数値パーソナルバーに表示する際の位置を指定する.パーソナルバーに表示しないときには``-1``にする.
``Nameid``数値言語ファイルでのID.値が0以外に設定されると,検索エンジンの説明をOpera本体の言語ファイルから持ってくる.デフォルトのGoogle検索には,``1632215285`` が指定されており,言語ファイルの該当IDでは ``1632215285="&Google"``となっている.
``Deleted``数値(0,1)削除フラグ.デフォルトで用意されているGoogle検索や eBay検索などは削除できず,このフラグで非表示にするしかできない.あとから追加したものは,フラグではなく本当に消える.
``UNIQUEID``UUID128ビットの一意の値.Opera 9.6から 検索エンジンも OperaLink の対象になったため追加された.

#####サンプル

UNIQUEID=7A8CADE6677811DDBA4B5E9D55D89593
ID=1000037
Name=Google ja-JP
Verbtext=0
URL=http://www.google.co.jp/search?hl=en&client=opera&rls=en&as_q=%s&ie=utf-8&lr=lang_ja&safe=off
Query=
Key=gj
Is post=0
Has endseparator=0
Encoding=UTF-8
Search Type=0
Position=-1
Nameid=0
Key=gj
Is post=0
Has endseparator=0
Encoding=UTF-8
Search Type=0
Position=-1
Nameid=0
Deleted=0

####検索キーワードの置換

URLQueryでは,パラメータとして%s%iとが使える.

%s は検索フィールドの入力文字列や g ほげとしたときの”ほげ”に置換される.スペースなどで区切られた複数の単語は +で連結される.

%i は検索結果の1ページあたりの表示件数を指定する.たとえば Google の検索ではパラメータとして &num=100を追加することで1ページあたり100件の検索結果を表示させることができる.設定はopera:config#UserPrefs|NumberOfHits から行う.

####検索の種類

Search Type に指定する検索の種類とその値は以下の通り.

カスタマイズ

簡単に言うと, Name=Value が基本, ; で始まる行はコメント行, [ , ] で囲まれるとセクション, " で囲むとそれらの文字はエスケープされる.という文法である.

####各 検索エンジン ([Search Engine X]) Opera の設定ダイアログからは,NameURLQueryIs post),keyHas endseparatorDeleted が設定できる.

Positionはパーソナルバーで追加や削除,移動時に書き換えられる.

日本語環境では重要な Encodingは,Operaから触れないので別の手段で書き換えるほかない.

検索フィールドやコンテキストメニューなどでの表示順は基本的に search.ini に書かれている順番になるため,表示の順番を入れ変えるには,ファイルでの順番を入れ替える必要がある.

####外部ツール Search.ini の管理用のツール.

#####SeeMe SeeMe オンラインヘルプ

Microsoft .NET Framework 3.5 が必要.日本語.

Opera のサーチエンジンリスト (Search.ini) を GUI で編集するためのアプリケーションです。

内蔵の編集機能とは違い全体を見ながら追加や編集ができるようにしています。

又 Opera 本体では何故かできないリストの並べ替えや「で検索」の文字を外すとかが可能です。

v3 よりデフォルト検索エンジンの変更や2つインストールした Opera のもう片方の編集も可能になりました

http://palepoli.skr.jp/seeme/

#####SearchEdit Search Edit

SearchEdit 日本語チュートリアル

J2SE 6が必要.英語,日本語を含む各言語ファイルあり.

並び替えやキーの設定などの各種編集のほか,重複の検出と削除,OpenSearch 形式への書き出しと結合,別のSearch.iniとの結合などができる.

SearchEdit is a Java-based editor for Opera’s search.ini. It allows moving, editing and deleting existing search entries from the search.ini as well as adding/removing separators.

SearchEdit works with search.ini from Opera 9 and higher.

For more information read the tutorial or go to the Forum. http://my.opera.com/SearchEdit/blog/

参考資料