私はWebアプリケーション(PHP言語)にCarrot2をインストールしました。すべてが完璧に動作します。今私は私の結果の言語を変更したい。私はフランス語のために英語を変更したい。私はcarrot2のドキュメントをWeb上で検索しますが、私は何を望んでいるのかわかりませんでした(このリンクは役に立ちましたが、dcsフォルダの内容はこの投稿http://carrot2-users-and-developers-forum.607571.n2.nabble.com/Change-Language-in-DCS-REST-PHP-td639270.html
以降に変更されたようです)。とにかく、単純な形式(および異なる変数)で私のパラメタ(algo、query、sourceなど)を渡し、curlを使ってcarrot2のメソッドに(PHPを)送信します。キャロット2 dcs言語
$language = 'lang_fr'; // or $language = 'FRENCH'
$num = (isset($_GET["maxResult"])) ? $_GET["maxResult"] : "10";
$query = urlencode($_GET["query"]);
$source = "web";
$algorithm = "lingo";
$hierarchy = "max-hierarchy-depth";
$level_hierarchie= $_GET["deep"] ? $_GET["deep"] : "1";
$processor = new Carrot2Processor();
$job = new Carrot2Job();
$job->setSource($source);
$job->setQuery($query);
$job->setAlgorithm($algorithm);
$job->setAttribute("results", $num);
$job->setAttribute($hierarchy, $level_hierarchie);
iはのsetAttribute()目的球でこのように言語を設定しようとしましたが、もちろん、それは動作しません:私はフランス語を送信する(奇妙または野蛮な)さまざまな方法を試してみました。
$job->setAttribute("language", $language);
try {
$result = $processor->cluster($job);
} catch (Carrot2Exception $e) {
echo 'An error occurred during processing: ' . $e->getMessage();
exit(10);
}
私はまた( 'Accept-langugage: fr'
を追加)CURLOPT_HTTPHEADER
を変更しようとしました。 私はさまざまな回答を見ていますが、phpを使ってjavaとimを使っているdeveloppersだけです。 PHPのsetAttribute()メソッドで言語選択を渡すことは可能ですか?誰かがそれを行う方法を知っていますか?
解決策が見つかりました。私は自分のdcs/warフォルダ内のcarrot2-dcs.warファイルを変更しました。このフォルダには、すべてのjavaファイルとxmlファイルが含まれています。私は 'algorithm-lingo-attributes.xml'と 'source-etools-attributes.xml'を修正しました。私はコードのコメントを外し、 'ENGLISH'を 'FRENCH'に置き換えました。このコードを編集するには、warファイルの解凍と再圧縮が完全な混乱を招くため、私は7-zipを使用します。 これは行く方法ではない場合は、私にコメントを送信することを躊躇しないで動作しているようだ – Potter