概要
IIIF Search は、全文検索のための IIIF Search Api を追加する Omeka S 用モジュールです。
https://github.com/symac/Omeka-S-module-IiifSearch
今回は上記のモジュールの改修を行いました。pull requestを送付済みですが、以下のリポジトリで改修したモジュールをご利用いただけます。
https://github.com/nakamura196/Omeka-S-module-IiifSearch
具体的にな改修内容としては、クエリ文字列の下限が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のモジュール開発の参考にもなりましたら幸いです。