这些Solr查询如何/为什么会产生不同的结果?

时间:2011-11-10 15:24:03

标签: solr full-text-search solandra

我正在使用Apache Solr并使用具有文本字段PostBody,整数Userid字段和基于特里结构的日期时间字段MostRecentActivityDate的架构查询索引。

我正在尝试将查询时间提升应用到我的select查询中,以便通过某些因素提升最近的帖子以帮助评分。我的价值在于试图获得几天而不是几年的时间尺度,就像许多在线日期提升示例一样。

以下两个查询产生不同的结果,唯一不同的是其中实际放置了增强的“代码”(即在场条件本身之前或之后)。在我的测试中,我也注意到它们都会产生不同的结果,因为没有{}提升代码,所以它不会在一种情况下被忽略。

有人能够解释为什么会产生不同的结果吗?谢谢!

{!boost%20b=recip(ms(NOW,MostRecentActivityDate),1.16e-7,1,1)} (PostBody:"timmy is great and that is a fact") AND !Userid=2

Vs以上。

(PostBody:"timmy is great and that is a fact") AND !Userid=2 {!boost%20b=recip(ms(NOW,MostRecentActivityDate),1.16e-7,1,1)}

1 个答案:

答案 0 :(得分:1)

由于这将非常针对您的数据,因此了解正在发生的事情的最佳方法是通过搜索的debugQuery=on参数打开query Debugging。以下是两个有助于解释调试输出的链接。