【Omeka S モジュール改修】IIIF Searchモジュール
概要
IIIF Search は、全文検索のための IIIF Search Api を追加する Omeka S 用モジュールです。
今回は上記のモジュールの改修を行いました。pull requestを送付済みですが、以下のリポジトリで改修したモジュールをご利用いただけます。
具体的にな改修内容としては、クエリ文字列の下限が1文字に設定されていましたが、これを設定フォームで変更できるようにしました。デフォルトでは3文字に設定されており、漢字1文字などでの検索ができなかったため、本改修を行いました。
改修内容
以下の4つのファイルを修正しました。
- config/module.ini
- src/Form/ConfigForm.php
- Module.php
- src/View/Helper/IiifSearch.php
config/module.ini
configurable
をtrue
に変更しました。これにより、モジュールインストール後に、以下のような設定画面が表示されます。
src/Form/ConfigForm.php
上記画面の設定画面での表示内容は、src/Form/ConfigForm.php
を編集することで実現できます。
iiifsearch_minimum_query_length
を設定値を追加しています。
Module.php
上記の画面に関する設定は、Module.php
を修正することで実現します。
具体的には、getConfigForm
やhandleConfigForm
フォームを追加しています。
また、モジュールのインストール時およびアンインストール時の処理を設定するinstall
およびuninstall
関数を追加して、iiifsearch_minimum_query_length
の初期値の設定および削除を行なっています。
src/View/Helper/IiifSearch.php
最後に、src/View/Helper/IiifSearch.php
を変更します。minimumQueryLength
が3で設定されていた箇所について、$this->view->setting('iiifsearch_minimum_query_length')
で設定値を読み取り、minimumQueryLength
の値としています。これにより、例えば日本語を扱う場合には、設定画面でminimumQueryLength
を1に設定することにより、1文字からの検索が可能になります。
まとめ
本モジュールを利用する際の、特に日本語を対象としたテキストに対する検索を行う際の参考になりましたら幸いです。また、Omeka Sのモジュール開発の参考にもなりましたら幸いです。
Discussion