Carrot2 dcs语言

时间:2017-12-04 09:44:03

标签: carrot2

我已经在Web应用程序(PHP语言)上安装了Carrot2。一切都很完美。现在我想改变结果的语言。我想换法语的英语。我在网上搜索了carrot2文档,但是我没有找到我想要的东西(这个链接很有用,但似乎dcs文件夹自此帖http://carrot2-users-and-developers-forum.607571.n2.nabble.com/Change-Language-in-DCS-REST-PHP-td639270.html后有所改变)。无论如何,我用简单的形式(和不同的变量)传递我的参数(算法,查询,源等),并用curl将它们(PHP)发送到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和im使用php的开发人员。是否可以在PHP上使用setAttribute()方法传递语言选择?有人知道这样做的方法吗?

提前谢谢(我使用carrot2-dcs-3.16)

1 个答案:

答案 0 :(得分:0)

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

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

请参阅上面链接的属性文档以获取支持的语言列表。