Carrot2 dcs语言

Carrot2 dcs language

我已经在 Web 应用程序(PHP 语言)上安装了 Carrot2。一切都很完美。现在我想更改结果的语言。我想把英语改成法语。我在网上搜索了 carrot2 文档,但没有找到我想要的(这个 link 很有用,但似乎自 post http://carrot2-users-and-developers-forum.607571.n2.nabble.com/Change-Language-in-DCS-REST-PHP-td639270.html 之后 dcs 文件夹发生了变化)。无论如何,我用一个简单的形式(和不同的变量)传递我的参数(算法、查询、源等),并将它们(PHP)发送到带有 curl 的 carrot2 方法。我尝试了不同的(奇怪的或野蛮的)方式来发送法语:

$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);

我试图在 setAttribute() 函数中设置这样的语言,当然它不起作用。

$job->setAttribute("language", $language);

try {
    $result = $processor->cluster($job);
} catch (Carrot2Exception $e) {
    echo 'An error occurred during processing: ' . $e->getMessage();
    exit(10);
}

我还尝试更改 CURLOPT_HTTPHEADER(添加'Accept-langugage: fr')。 我看到了不同的响应,但仅针对使用 java 的开发人员和使用 php 的开发人员。是否可以使用 PHP 上的 setAttribute() 方法传递语言选择?有人知道这样做的方法吗?

提前谢谢你(我用的是carrot2-dcs-3.16)

对于 eTools 元搜索引擎,您可以直接在调用代码中设置 EToolsDocumentSource.language 属性:

$job->setAttribute("EToolsDocumentSource.language", "FRENCH");

查看上面链接的属性文档以获取支持的语言列表。