Language: English, Japanese |
Lookup
Links |
3.4 その他の主な設定項目
3.4.1 拡張検索の準備日頃から検索をしていると、入力のちょっとした誤りくらいは自動的に修正して検索を行なってくれると有り難く思います。Lookup には、入力された検索語を補正するためのいくつかの機能が備わっています。
単語の語尾を取り除く英語などで、単語の複数形や過去形などに付く余分な文字列を取り除き、原型を推測するための処理を stemming といいます。これが出来ると、文字列の修正なしに検索を行なえるので便利です。Lookup では、辞書オプション
オプション
これで指定した辞書から検索を行なうときには、stemming が行なわれるようになります。具体的には、次の手順で検索されます。
これでも何も見付からなければ検索を諦めます。その場合、二回か三回の検索処理が無駄になりますが、遠隔地の辞書サーバにアクセスしているのでもない限り、これは大したコストではありません。よってあらかじめ厳格なスペルチェックを行なうよりも、この方式を用いる方が、効率的に自動補正を行なえます。 スペルチェックを行なう語尾だけの問題ではなく、綴りそのものを間違えたのでは何も見付かりません。そこで検索語のスペルチェックを行ない、その上で検索を行なう機能が欲しくなります。 Lookup のスペルチェック機能は、検索エージェント ‘ndspell’ として実現されています(see section ndspell)。 ここでリストのどの位置に ndspell を加えるかが問題となります。ndspell を置く位置を変えることで、スペルチェックを行なうタイミングを変えることが可能です。 リストの最初に ndspell を置くと、いきなりスペルチェックを始めます。スペルミスがあまりにも多く、スペルチェックをしてから検索を始めたいという人には、この方法が向いているかもしれません。 しかし、検索の度に毎回スペルチェックを行なうというのは効率的ではありません。そこで ndspell をリストの最後に置くことで、まず他の辞書で一度検索を行ない、それでも何も見付からなかったときのみ、ndspell でスペルチェックを行なうようにすることが出来ます。ndspell は、そのような利用を想定して作られています。 もしどうしてもスペルチェックを行ないたいということがあれば、Entry バッファで g を押して再検索を行なうことで、ndspell にスペルチェックを強制することも可能です。より詳しくは、ndspell を参照して下さい。 任意の拡張検索辞書の性質によっては、ユーザーが任意の置き換えを定義したい場合があるかも知れません。そのような場合には、:expander オプションと :expand-filter オプションが利用できます。 例えば、次のような設定ができます。
ただし、 このように設定すると、Lookup は以下のような検索処理を行います。
前節で説明した漢字ひらがな拡張検索機能は、次のような設定と同値です。
|