Zend Lucene搜索相关性

时间:2010-05-28 05:30:35

标签: php zend-framework lucene zend-search-lucene

配置Zend Lucene以使搜索结果更具相关性的最佳做法是什么?

我有以下字段和文档类型

 productname (Text)
 description (Text)
 category (Keyword)

请提供一些示例代码。

2 个答案:

答案 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开始。