php – 将“流行度”因素与zend-search lucene正确集成的最佳方法是什么?

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 将“流行度”因素与zend-search lucene正确集成的最佳方法是什么?脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经阅读了 this,我仍然对如何完全解决这个问题感到困惑.

我有一个未编制索引的字段,用于计算正在搜索的一组播放列表的投票数.主搜索工作正常,但我也希望将投票字段作为算法的一部分,我不知道如何将非索引字段作为其中的一部分.任何人都可以提供任何指导或示例吗?

解决方法

您没有必要调整评分算法(实现 tf-idf BTw).

如果您只想将视图数量整合到评分计算中,您可以在将搜索文档添加到索引之前“提升搜索文档,例如:

$doc = new Zend_SeArch_Lucene_Document();
$boostFactor = 0.1;
$doc->boost = (float)$numberOfVotes * $boostFactor;
// ..
$index->addDocument($doc);
$index->commIT();

此示例中的提升因素并不真正相关,因为您只有一个提升标准.如果你想提升非线性,你也可以在$numberOfVotes上使用expsqrt.

但另一个问题:

为什么不首先使用ElasticSearch(或其他高性能搜索引擎)?

ElasticSearch例如比Zend Lucene的PHP实现更强大,更快.此外,它很容易融入评分机制,例如,http://www.elasticsearch.org/guide/reference/query-dsl/custom-score-query.html
您可以使用像Elastica这样的PHP客户端.

脚本宝典总结

以上是脚本宝典为你收集整理的php – 将“流行度”因素与zend-search lucene正确集成的最佳方法是什么?全部内容,希望文章能够帮你解决php – 将“流行度”因素与zend-search lucene正确集成的最佳方法是什么?所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。