Closed masao closed 1 year ago
Solr 4.7からcursorMarkパラメータを使ったページネーションが使えるので、このパラメータをresemptionTokenとして使用する。 https://github.com/sunspot/sunspot#cursor-based-pagination
Solr 4.7からcursorMarkパラメータを使ったページネーションが使えるので、このパラメータをresemptionTokenとして使用する。
上記の実装を行いました。開発用サーバに反映済みです。 http://dev.next-l.jp/oai/provider.xml?verb=ListIdentifiers&metadataPrefix=oai_dc
なお、sunspot_solrを使用する場合、2.2.2(Solr5.0.0同梱)以降が必要です。
現在のステータス:
テストを書く。
確認してみましたが、resumptionTokenの呼び出しで badArgument のエラーを出してしまいますね。 https://www.openarchives.org/OAI/2.0/guidelines-harvester.htm#resumptionToken にある通り、必要なパラメータを保存しなくてはならないので、まだ resumptionToken パラメータの実装ができていない状態です。
resumptionTokenをEnju側で覚えておく必要があるのですが、この実装が面倒です。 resumptionToken対応をやめるか、それともOAI-PMHそのもの対応をやめてResourceSyncに置き換えるかしたほうがよいかもしれません。
OAI-PMHの実装は、oai gemを使って書き直すことにします。 https://github.com/code4lib/ruby-oai
OAI-PMHの実装は、oai gemを使って書き直すことにします。
mainブランチにマージしました。動作例は以下です。 https://enju.next-l.jp/oai?verb=ListRecords&resumptionToken=dcndl.f(2021-11-23T08:01:21Z).u(2022-08-22T06:06:13Z):102
完了しているため、クローズします。
resumptionTokenに対応して保存すべきクエリ等を確認すること。
710 からの派生。