2010-05-28 144 views
0

什么是配置Zend Lucene使搜索结果更相关的最佳实践?Zend Lucene搜索相关性

我有以下字段和文档类型

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

请给出一些示例代码。

+0

请指定“更相关”的含义。 lucene是否不返回您期望的文档? – ZeissS 2010-05-28 07:41:12

+0

是的,结果看起来非常不相关。有比返回的结果更多的相关产品 – 2010-06-30 08:57:05

回答

0

从任何搜索引擎获取相关结果都很困难。 随着您指定的详细程度,很难给您任何具体的建议。 我建议你从this paper开始。

2

有两个概念让我想起你的问题,但并不确定你在找什么。

得分:指示文档与搜索查询匹配程度的评分。从manual

Zend_Search_Lucene使用相同 评分算法和Java Lucene。搜索结果中的所有 结果按默认值排序为 。

$hits = $index->find($query); 
foreach ($hits as $hit) { 
    echo $hit->id; 
    echo $hit->score; 
} 

的分数是在默认情况下检索并应用到从多到少排序的相关结果,因此必须假设你需要别的东西。

Term Boosting:用于影响查询中各个词的相关性。引用一次的manual

推进允许你通过提高 各个方面来控制文档的 相关性。例如,如果您 正在寻找

PHP framework 

和你想要的术语“PHP”是使用^符号 与增强因子一起更 相关升压旁边 术语。您可以键入:

PHP^4 framework 

这将使文件与PHP出现更多的相关术语 。您还可以 升压短语搜索项和子作为 的例子:

"PHP framework"^4 "Zend Framework" 

这是否帮助呢?