首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用SPH_MATCH_ANY的Sphinx会忽略SetFieldWeights和SetSortMode

使用SPH_MATCH_ANY的Sphinx会忽略SetFieldWeights和SetSortMode
EN

Stack Overflow用户
提问于 2011-01-31 17:02:30
回答 1查看 1.7K关注 0票数 1

嘿,伙计们,我试图通过sphinx 0.99以我想要的方式来排序我的结果,但它不起作用。

我目前正在使用这个

代码语言:javascript
复制
$cl->SetMatchMode ( SPH_MATCH_ANY );
$cl->SetRankingMode ( SPH_RANK_PROXIMITY_BM25 );
$cl->SetFieldWeights ( array ( "item_title"=>100,"item_publish_date"=>99 ) );
$cl->SetSortMode ( SPH_SORT_EXTENDED  , "@weight DESC,item_publish_date DESC" );
$cl->SetLimits(0, 330);

这将调出所有结果,但它会完全忽略item_publish_date值。

如果我使用SPH_MATCH_BOOLEAN是SPH_MATCH_ANY的一部分,它确实会以我想要的顺序显示结果,但它对结果的限制太多了,因为相似的项将被完全忽略,这就是为什么我需要使用SPH_MATCH_ANY来显示最多的结果。

因此,我的问题是,如何使用SPH_MATCH_ANY将item_publish_date考虑在内?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-02-01 01:03:26

我认为item_publish_date不是一个文本字段,所以您不需要在SetFieldWeights方法中使用它,因为它没有任何意义。其次,SPH_MATCH_ANY排名器使用额外的匹配单词计数来计算权重,而不仅仅是匹配。这就是为什么你需要做一些测试,并在不同的搜索中观察weight参数。

这里有一些关于weighting in Sphinx的读物

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4849082

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档