概要 校異源氏物語テキストDBに対する検索を行うAPIサーバの構築したので、備忘録です。
https://genji-api.aws.ldas.jp/
背景 以下のページで、『校異源氏物語』のテキストデータをTEI/XMLに準拠した形で公開しています。
https://kouigenjimonogatari.github.io/
このテキストデータをElasticsearchに登録し、コマごとの検索を可能にするAPIを作成します。
使い方 以下のURLで、OpenAPIおよびSwaggerを用いた使い方の説明ページにアクセスできます。
https://genji-api.aws.ldas.jp/
工夫点 検索語の展開 例えば以下のURLは、「夕顔」を検索キーワードとした例です。JSON:APIに準拠した入出力形式としています。
https://genji-api.aws.ldas.jp/search?q=夕顔&page[limit]=20&page[offset]=0&sort=page&filter[expandRepeatMarks]=true&filter[unifyKanjiKana]=true&filter[unifyHistoricalKana]=true&filter[unifyPhoneticChanges]=true&filter[unifyDakuon]=true&filter[vol_str]=04 夕顔
この時、以下のような結果が返却されます。入力したキーワード「夕顔」に対して、バリエーションを生成し、これらに基づく検索を行います。
{ } " " } d m a e " " ] " } " } " " " " " } t t q t , t , f , s l o t a a a u r " " " " " " " " " r " " " " " i " " " " " " o i f o g " } " " e a 夕 ゆ ゆ ゆ ゆ 夕 夕 ゆ ゆ a e u u u u l e u u u u v r m f t g v : : r n 顔 う ふ ふ う か か う ふ n x n n n n t x n n n n o t i s a r o " " " ] y s " か か か か お ほ 顔 顔 s p i i i i e p i i i i l " t e l e l d s b [ { " f , お お ほ ほ " " " " f a f f f f r a f f f f _ : " t " g _ o u u { } ] : o " " " " , , , o n y y y y s n y y y y s : " : a s c m c , r , , , , r d K H P D " d K H P D t " : t t _ _ k " " " m m R a i h a : R a i h a r p 2 7 i r c o e k d 夕 e O e n s o k e n s o k " a 0 0 , o " o t t e o 顔 d p p j t n u { p j t n u : g , , n : u h s y c " Q t e i o e o e i o e o e s n e " " _ , u i a K r t n a K r t n " " " { t r : : c e o t a i i " t a i i " 0 , : _ _ o r n M n c c : M n c c : 4 e d [ " u i s a a a C a a a C { r o 0 n e " r " l h t r " l h t 夕 r c 4 t s : k : K a r k : K a r 顔 o _ " " s a n u s a n u " r c 夕 : : { " t n g e " t n g e _ o 顔 : r a e : r a e , u u " 7 [ u " s u " s p n , t e : " t e : " p t r , : r , : e " u t u t r : e r t e r t _ , u r , u r b 0 e u e u o , , e , e u , , n d " : 0 , その結果、本文中に登場する「ゆふかほ」「夕かほ」「夕顔」を一度に検索することができます。
...