昨年10月1日の開発では ?!
の導入は保留することにしたが,当初予定通り,?!
,!?
,??
の3種類を揃えることにした。
少なくとも前縁では全知検索ボタンの切り替えに必要なことに気付いた。11日の開発でこのあたりの実装イメージがまとまったことで気付きやすくなっていた。後縁での実装がどこまで必要かは実装しながら考える。
なんとか全知検索演算子 !?
を実装した。作業は円滑,懸念していた速度低下の問題も無く,大成功だった。
全文検索索引の作成には予定通り pg_bigm を採用した。想像していたよりずっと軽量で,導入しやすかった。切り替えも容易なので,非標準機能への依存を極力避けるという方針からいっても許容範囲内だろう。
一番懸念していたのは速度低下,特に描出時の索引更新にかかる負荷だったが,体感速度への悪影響は見られなかった。全文検索時に検索語によっては微かな引っかかりを感じる程度で,許容範囲内といえる。これは嬉しい結果だった。
全文検索機能はデルン初期実装にはあったものだが,正規一致への移行過程で「退行」していた(全知検索を正規一致方式に変更)。理想的な形で復活させることが出来て感慨深かった。
!?
}{??
}{希哲14年7月27日の開発}(61)デライト検索における部分一致検索と全文検索の仕様について大まかな方針を決め終了。
現状,デルン初期から引き継いでいる輩符による部分一致検索が残っているが,輩符は末尾ならともかく先頭に置くのは一般に使われる除外検索と紛らわしいという問題がある。
代わりにアスタリスクを使うという手も考えた。技術者にとっても分かりやすく,一般的にも伏せ字で使われることがあり,直感性に大きな問題はない。特殊記号であることは明らかなので混同の恐れも小さい。ただ,アスタリスクは描写記法(デラング)において見出しや強調などに使うことを想定しており,その場合一貫性に欠ける。
そこで,「...」を使うことを考えた。例えば,「検索語...」で前方一致検索,「...検索語」で後方一致検索となる。「…」や「・・・」で代用してもいい。普遍的な省略記号であり,直感性はアスタリスクに勝る。唯一の難点として素早く入力しにくいというのはあるが,全知検索ではあくまでも補助的な手段であるためこのくらいで丁度いいかもしれない。
ついでに将来的に全文検索などに対応をする場合の用合いについても検討。
そのうち,知名検索だけではなく描写検索も含めた全文検索への要求も高まるだろう。現時点で想定しておかなければならない検索種別は,現状の知名のみ検索に加え,描写のみ検索,知名・描写検索の3種となる。これらを上手く切り替えられる方式を考えておきたい。
現状,? をボタンに使っているため,これを拡張して,検索語の末尾に ? や ! を加えることで検索種別を切り替えられる方式を考案した。末尾にこれらの文字を加えると,ボタンも ?? や !? に変化する。例えば,知名・描写両方を検索したい場合は ?? に,描写のみを検索したい場合は !? のようにする。! は論組では否定の意で使われるため,知名は検索せず描写は検索する,という状態を上手く表している。
自然で分かりやすいが,自然過ぎることによる問題もある。題名などで疑問符・感嘆符を使うものは珍しくないため,上手く切り分ける方法も考えておく必要がある。一番分かりやすいのは,記号の前に空白を置くことだが,フランス語のように言語によっては既にそういう習慣がある。末尾に空白を置いて無効化出来るなど,いくつか代替手段も必要だろう。
細部に課題は残るが,大まかな方針としてはこれで間違いないだろう。