【Solr】3種類の言語判定ライブラリの対応言語
はじめに
Solrでのインデックス作成の際の言語判定には以下の3種類のライブラリが利用できます。
- Apache Tika
- LangDetect
- Apache OpenNLP
ただし、Solrのリファレンスを読んでも、どのライブラリがどの言語をサポートしているかの情報がありません。詳細についてはそれぞれのプロジェクトページを参照するようにと書かれているので確認してみました。
Apache Tika
プロジェクトのページには言語判定について詳しい情報が無かったので、ソースコードを確認しました。
LanguageIdentifierクラスを見ると、各言語のプロファイルとして .ngp という拡張子のファイルを読み込んでいることが分かります。そこで、solr-8.6.1 同梱の tika-core-1.2.jar に含まれる .ngp ファイルをリストアップしました。
$ jar tvf ./contrib/extraction/lib/tika-core-1.24.jar | grep .ngp 10960 Wed Mar 11 18:05:28 JST 2020 org/apache/tika/language/be.ngp 10411 Wed Mar 11 18:05:28 JST 2020 org/apache/tika/language/ca.ngp 10004 Wed Mar 11 18:05:28 JST 2020 org/apache/tika/language/da.ngp 9999 Wed Mar 11 18:05:28 JST 2020 org/apache/tika/language/de.ngp 12664 Wed Mar 11 18:05:28 JST 2020 org/apache/tika/language/el.ngp 9897 Wed Mar 11 18:05:28 JST 2020 org/apache/tika/language/en.ngp 10292 Wed Mar 11 18:05:28 JST 2020 org/apache/tika/language/eo.ngp 9960 Wed Mar 11 18:05:28 JST 2020 org/apache/tika/language/es.ngp 9648 Wed Mar 11 18:05:28 JST 2020 org/apache/tika/language/et.ngp 11479 Wed Mar 11 18:05:28 JST 2020 org/apache/tika/language/fa.ngp 10081 Wed Mar 11 18:05:28 JST 2020 org/apache/tika/language/fi.ngp 10050 Wed Mar 11 18:05:28 JST 2020 org/apache/tika/language/fr.ngp 10416 Wed Mar 11 18:05:28 JST 2020 org/apache/tika/language/gl.ngp 9738 Wed Mar 11 18:05:28 JST 2020 org/apache/tika/language/hu.ngp 9301 Wed Mar 11 18:05:28 JST 2020 org/apache/tika/language/is.ngp 9960 Wed Mar 11 18:05:28 JST 2020 org/apache/tika/language/it.ngp 12509 Wed Mar 11 18:05:28 JST 2020 org/apache/tika/language/lt.ngp 9923 Wed Mar 11 18:05:28 JST 2020 org/apache/tika/language/nl.ngp 9373 Wed Mar 11 18:05:28 JST 2020 org/apache/tika/language/no.ngp 9165 Wed Mar 11 18:05:28 JST 2020 org/apache/tika/language/pl.ngp 10023 Wed Mar 11 18:05:28 JST 2020 org/apache/tika/language/pt.ngp 10456 Wed Mar 11 18:05:28 JST 2020 org/apache/tika/language/ro.ngp 11783 Wed Mar 11 18:05:28 JST 2020 org/apache/tika/language/ru.ngp 10431 Wed Mar 11 18:05:28 JST 2020 org/apache/tika/language/sk.ngp 10329 Wed Mar 11 18:05:28 JST 2020 org/apache/tika/language/sl.ngp 10081 Wed Mar 11 18:05:28 JST 2020 org/apache/tika/language/sv.ngp 14302 Wed Mar 11 18:05:28 JST 2020 org/apache/tika/language/th.ngp 11942 Wed Mar 11 18:05:28 JST 2020 org/apache/tika/language/uk.ngp
サポートされている言語は28。日本語はサポートされていないようです。
LangDetect
リファレンスからリンクされているプロジェクトページがgithubになっており、ほとんど情報が無いため、こちらもソースコードを確認しました。
profiles というディレクトリの下に各言語のプロファイルが置かれています。
$ ls profiles af bg cs de en et fi gu hi hu it kn lt mk mr nl pa pt ru sl sq sw te tl uk vi zh-tw ar bn da el es fa fr he hr id ja ko lv ml ne no pl ro sk so sv ta th tr ur zh-cn
サポートされている言語は53。日本語も含まれています。
Apache OpenNLP
こちらはREADMEにしっかり記載されていました。
サポートされている言語は103。日本語も含まれています。