php – 将“流行度”因素与zend-search lucene正确集成的最佳方
发布时间:2020-12-13 22:47:01 所属栏目:PHP教程 来源:网络整理
导读:我已经阅读了 this,我仍然对如何完全解决这个问题感到困惑. 我有一个未编制索引的字段,用于计算正在搜索的一组播放列表的投票数.主搜索工作正常,但我也希望将投票字段作为算法的一部分,我不知道如何将非索引字段作为其中的一部分.任何人都可以提供任何指导或
我已经阅读了
this,我仍然对如何完全解决这个问题感到困惑.
我有一个未编制索引的字段,用于计算正在搜索的一组播放列表的投票数.主搜索工作正常,但我也希望将投票字段作为算法的一部分,我不知道如何将非索引字段作为其中的一部分.任何人都可以提供任何指导或示例吗? 解决方法
您没有必要调整评分算法(实现
tf-idf btw).
如果您只想将视图数量整合到评分计算中,您可以在将搜索文档添加到索引之前“提升”搜索文档,例如: $doc = new Zend_Search_Lucene_Document(); $boostFactor = 0.1; $doc->boost = (float)$numberOfVotes * $boostFactor; // .. $index->addDocument($doc); $index->commit(); 此示例中的提升因素并不真正相关,因为您只有一个提升标准.如果你想提升非线性,你也可以在$numberOfVotes上使用exp或sqrt. 但另一个问题: 为什么不首先使用ElasticSearch(或其他高性能搜索引擎)? ElasticSearch例如比Zend Lucene的PHP实现更强大,更快.此外,它很容易融入评分机制,例如,http://www.elasticsearch.org/guide/reference/query-dsl/custom-score-query.html (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |