プログラミング言語

Elastic Searchには、主要な言語でlibraryがあるので、そのどれかを使う想定。例として以下を挙げる。


javascript

https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/index.html


python

https://elasticsearch-py.readthedocs.io/en/master/


golang

https://github.com/elastic/go-elasticsearch


翻訳API


Microsoft Translator テキスト API

https://www.microsoft.com/ja-jp/translator/translatorapi.aspx


セットアップ

https://www.microsoft.com/ja-jp/translator/getstarted.aspx


もとの言語推定は自動でやってくれる模様

http://docs.microsofttranslator.com/text-translate.html#!/default/get_Translate

GET /Translate のエンドポイントのfromパラメーターはOptionalになっている


公式のサンプルコード集

https://docs.microsoft.com/en-us/azure/cognitive-services/translator/


Google Cloud Translate API

https://cloud.google.com/translate/docs/


セットアップ

https://cloud.google.com/translate/docs/getting-started


公式のサンプルコード集

https://cloud.google.com/translate/docs/samples


もとの言語推定は自動でやってくれるらしい

https://cloud.google.com/translate/docs/reference/translate

のsource属性参照


システムフロー


登録すべきDocumentが日本語かを推定(これはAPIに投げるまでもなく、日本語の文字数で判定すれば良さそう)


任意の期間のルーティーンジョブとして、登録されていったDocumentからElastic Searchの期間指定を使って、日本語とは判定されず、前回翻訳した以降に登録、あるいは更新されたデータを取得し、翻訳APIに投げる

http://togattti.hateblo.jp/entry/2017/08/17/174953


結果を、もとのドキュメントの一属性としてElastic Searchに保存する