配置Zend Lucene以使搜索结果更具相关性的最佳做法是什么?
我有以下字段和文档类型
productname (Text)
description (Text)
category (Keyword)
请提供一些示例代码。
答案 0 :(得分:2)
我的想法有两个概念,但你不确定自己在想什么。
得分:一个评级,指示文档与搜索查询的匹配程度。来自manual:
Zend_Search_Lucene使用相同的 评分算法为Java Lucene。所有 搜索结果中的命中是有序的 按默认分数。
$hits = $index->find($query);
foreach ($hits as $hit) {
echo $hit->id;
echo $hit->score;
}
默认情况下,检索并应用得分以将结果从更多相关性排序到相关性更低,因此必须假设您需要其他内容。
术语提升:用于影响查询中各个术语的相关性。再次引用manual:
Boosting允许你控制 提升文件的相关性 个别条款。例如,如果你 正在寻找
PHP framework
你希望术语“PHP”更多 使用^符号相关提升它 以及旁边的提升因素 术语。你可以输入:
PHP^4 framework
这将生成带有该术语的文档 PHP看起来更相关。你也可以 将短语术语和子查询提升为 在示例中:
"PHP framework"^4 "Zend Framework"
这有帮助吗?
答案 1 :(得分:0)
从任何搜索引擎获取相关结果都很难。 根据您指定的详细程度,很难给您任何具体的建议。 我建议你从this paper开始。